我一直在到处寻找这个问题的答案,我不知道它叫什么,但是带圆括号变量的toString方法有什么意义呢?
public static String toString(Student[] list, int n)
{
}由于某种原因,我找不到这个答案。我不知道您可以向toString提供输入,因为我认为您没有直接调用该方法,只要声明它所在的类,就会打印一个字符串。
发布于 2016-04-10 04:32:41
与其他任何方法一样,toString()只是一种方法。不巧的是,不带参数的toString()方法会被很多东西自动调用,比如试图打印出一个对象时。但是,这并不妨碍您生成另一个名为toString(int variable)的方法。该方法永远不会被自动调用,但是如果您想在编写的任何程序中执行自定义字符串操作,仍然可以声明它并自己调用它。
发布于 2016-04-10 04:32:38
您可以为任何方法提供任何参数,但是toString是特殊的,因为它在许多内部工作中都使用。
said...this不是那个toString方法。你想要覆盖的那个不带任何参数。
@Override
public String toString() {
// implementation
}接受参数的toString意味着对象没有足够的信息来打印关于自己的信息,这是矛盾的,所以最好将该方法重命名为更合适的方法。
发布于 2016-04-10 05:19:09
可以在特定类中重写toString(),
就像这样
public class ToStringEg {
private Student[] list;
private int n;
public ToStringEg(Student[] list, int n) {
super();
this.list = list;
this.n = n;
}
@Override
public String toString() {
StringBuffer buf = new StringBuffer();
// You can access list and v varible required by you
//finally create a buf based on your logic
return buf.toString();
}}
https://stackoverflow.com/questions/36525801
复制相似问题