请使用Java中的新功能。
我试图理解泛型,直到我明白这是很顺利的:
Pair<Integer, GenericBox<String>> p2 = new OrderedPair<>(1, new GenericBox<>("Parametized Type");
p2.print();
打印方式:
public void print() {
System.out.println(this.key + ", " + this.value);
}
除了我使用参数化类型参数时,它都可以正常工作。
样本输出:
1, GenericBox@41171d93
预期产量:
1, Parametized Type
尝试了这个:How to get type parameter values using java reflection?但它只给我K,它是OrderedPair中的一个参数''
这是我的第一个问题,如果我错过了某些事情或不清楚的事情,非常感谢您提供反馈。
最佳答案
这与泛型无关。用
this.value
您大概是指传递给
GenericBox
构造函数的OrderedPair
对象。此类(GenericBox
)不得具有声明的toString()
方法。因此,它继承并使用Object#toString()
。开发人员有责任编写自己的
toString()
实现并返回他们认为合适的任何String
值。 Here's what the official tutorials have to say.