我有一个任务,我卡住了。这个任务是为这个方法编写一个通用类:卡住了Java通用类
public static void main(String[] args) {
ValueStore<Object> myStore1 = new ValueStore<Object>();
myStore1.set("Test");
myStore1.get();
///
ValueStore<Object> myStore2 = new ValueStore<Object>();
myStore2.set(myStore1);
myStore1 = myStore2.get();
}
我来到这里了。
public class ValueStore<T> {
private T x;
public void set(T x) {
System.out.println(x);
}
public T get() {
return x;
}
}
我能打印出mystore.set“test”,但不能打印myStore2.set。我不明白为什么我的老师通过一个参考变量作为参数。当我这样做时,我在控制台中获得ValueStore @ 15db9742。或者也许这就是重点?
有人可以解释为什么它说myStore2.set(myStore1); myStore1 = myStore2.get()
,它应该打印什么和它背后的逻辑?
预先感谢您。对不起,如果我的文字是混乱的。第一次来这里。
不太清楚你的老师想要什么,但你可以通过实现一个'字符串的ToString(避开'ValueStore @ 15db9742'问题){}'方法在你的'ValueStore'类中。 – OldCurmudgeon 2014-09-29 09:09:47
当然,'ValueStore#set'的实现应该包含'this.x = x;'? – 2014-09-29 09:10:52