繁体   English   中英

Java通用类型T toString()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM