[英]Java generic type T toString()
我有一个无法更改的方法,它需要一个T[]
数组。
我需要“ toString()
”数组的元素[i]
,事先不知道T
的类型。
对于所有对象,我可以调用toString()
但是T[]
可以是基元数组,但这没有任何意义:
int i = 0;
i.toString(); // nonsense
我能做什么?
回应:
T []可以是原始数组,这没有任何意义
泛型类型不能是基元,这可以保证数组始终是对象数组。 由于每个对象都扩展了Object
因此它将具有toString
方法。
泛型类型不能是原始类型。 问题不存在。
泛型不能与原始类型一起使用。 因此, T[]
不能是基元数组。 因此,当arr
类型为T[]
时,您始终可以调用arr[i].toString()
。
编译器将允许.toString()
调用,这应该对您来说是一个很好的线索,它可以实际工作。 只有当Java编译器不允许你的东西是时候想想如何无论如何做。 这就是Java中的事情顺序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.