是否可以转换 Object
例如ArrayList<String>
下面的代码给出了问题的示例。问题在最后一行
setDocs((ArrayList<Document>)obj);
我想在哪里转换 Object obj
至ArrayList<String>
public void setValue(Object obj)
{
if(obj instanceof TFile)
setTFile((TFile)obj);
else
if(obj instanceof File)
setFile((File)obj));
else
if(obj instanceof Document)
setDoc((Document)obj);
else
if(obj instanceof ArrayList)
setDocs((ArrayList<Document>)obj);
}
最佳答案
在 Java 中,泛型没有具体化,即在转换时不使用它们的泛型类型。
所以这段代码
setDocs((ArrayList<Document>)obj);
将被执行为
setDocs((ArrayList)obj);
由于运行时转换不会检查您的 ArrayList
是否包含 Document
对象,因此编译器会发出警告。
关于java - 将对象转换为 ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19269278/