Java:我可以将对象列表转换为String 列表,反之亦然?
这可能不经过列表并投射对象吗?
我还需要将List
转换为List
(T =预定义对象),如果可能的话?
编辑:为了澄清,我正在尝试使用List
作为我的代码中广泛使用的类方法的返回类型。
不。这根本不是有效的转换,因为并非所有的Object
都是String[]
。
您可以通过2行代码自行确定。
编辑
听起来你需要更一般地编写方法。 像这样的东西:
public List getGenericList() { return new ArrayList (); }
这可以像这样返回List
:
List listOfStringArr = getGenericList();
实际上,由于类型擦除,这是可能的。 您可以将参数化类型转换为原始类型,反之亦然。
List
但是,这并不意味着这是一个好主意。 这适用于参数化类型的编译时类型检查。 如果列表包含您期望的类型以外的对象,则可能会出现意外结果。
根据定义,这是不可能的。 java中的所有类都扩展了Object。 物理列表理论上可以包含您想要的每种类型的元素。 你想怎么把东西转换成特定的T
型?
不。如果第一个列表中的Object
实际上不是 T
怎么办?
话虽这么说,您可以尝试将List
为List
(为exception做好准备)。
/ E1
我不知道你的代码的具体细节,但听起来创建一个通用的方法对你有好处。