Java 为什么我不能使用';tostring'?如何打印包含类的arry?
公共字符串toString(){//这在另一个类中Java 为什么我不能使用';tostring'?如何打印包含类的arry?,java,tostring,Java,Tostring,公共字符串toString(){//这在另一个类中 String Cubes = "+"; for(int i = 0; i < CubesStack.length;) { Cubes = Cubes + CubesStack[i].toString(); } return "maxCubes = " + this.maxCubes + "\n" + "currentCubes = " + this.curren
String Cubes = "+";
for(int i = 0; i < CubesStack.length;) {
Cubes = Cubes + CubesStack[i].toString();
}
return "maxCubes = " + this.maxCubes + "\n" +
"currentCubes = " + this.currentCubes + "\n" +
"CubesStack = " + Cubes;
}
}
为什么我不能使用“tostring”打印?如何打印包含类的arry?多谢各位 您的对象应该实现toString()方法,否则它将采用java.lang.object中toString()的默认实现 对象的默认实现是
公共字符串toString(){
返回getClass().getName()+“@”+Integer.toHexString(hashCode());
}
因此,您必须重写toString()以获得自己的值
例如:
这里我有Name类,它将有两个属性
类名{
私有字符串名;
私有字符串lastName;
公共名称(字符串名、字符串名){
超级();
this.firstName=firstName;
this.lastName=lastName;
}
@凌驾
公共字符串toString(){
返回“Name[firstName=“+firstName+”,lastName=“+lastName+””;
}
}
publicstaticvoidmain(字符串[]args){
姓名[]姓名=新姓名[]{新姓名(“约翰”、“doe”)、新姓名(“约翰”、“doe1”)};
System.out.println(名称[0]);
}
如果不重写toString(),则输出:com.stackovflow.problems。Name@33909752
在为您的对象实现toString()输出后:Name[firstName=john,lastName=doe]为您的对象实现toString()
。可能重复
public static void main(String[] args) {
// TODO Auto-generated method stub
cubesTower tower1 = new cubesTower(20);
System.out.println(tower1.toString());
}