这个问题在这里已有答案:
我不知道什么是正确的打印输入,以便我的输出可以是x,y和int的int值而不是内存空间。
public class IntObject{
public int num;
public IntObject() {
num=0;
}
public IntObject(int n){
num=n;
}
public void increment() {
num++;
}
}
public class IntObjectTest{
public static IntObject someMethod(IntObject obj) {
IntObject ans =obj;
ans.increment();
return ans;
}
public static void main(String[]args) {
IntObject x = new IntObject(2);
IntObject y = new IntObject(7);
IntObject a =y;
x=someMethod(y);
a=someMethod(x);
System.out.print(x);
System.out.print(y);
System.out.print(a);
}
}
我可以做些什么来改变,以便我可以获得int值?
如果要按照要求中的指定打印对象内容,则应覆盖toString
类中的IntObject
方法。
您可以如下所示实现它,也可以使用IDE(Eclipse或IntelliJ)自动生成它:
@Override
public String toString() {
return "num = "+ num;
}
在Eclipse
做right clcik -> source -> generate toString()
您可以在IntObject类中覆盖Object.toString()
方法。
@Override
public String toString() {
return String.valueOf(num);
}