我已经检查了以下stackoverflow源来解决我的问题:
但是,在应用顶级解决方案时,我仍然会收到错误,如下所示:
我的清单在此处定义:
List linhaInicial = new ArrayList();
我的转换是在这里完成的:
String[] convertido = linhaInicial.toArray(new String[linhaInicial.size()]);
问题是我仍然收到以下错误:
Error:(86, 59) java: incompatible types
required: java.lang.String[]
found: java.lang.Object[]
我的转换在某种程度上仍然会返回Object[]
,现在应该返回String[]
。
任何解决方案?
谢谢!
答案 0 :(得分:5)
请勿使用raw types!
List linhaInicial = new ArrayList();
应该是
List<String> linhaInicial = new ArrayList<>();
答案 1 :(得分:2)
更改:
List linhaInicial = new ArrayList(); // can contain any Object.
//So compiler throws an error while converting an Object to String.
到
List<String> linhaInicial = new ArrayList<String>(); // using Generics ensures
//that your List can contain only Strings, so, compiler
//will not throw "incompatible types" error
答案 2 :(得分:1)
始终尝试在声明中包含list元素的类型:
List<String> linhaInicial = new ArrayList<String>();
尽可能避免使用原始类型。
答案 3 :(得分:1)
你必须改变
List linhaInicial = new ArrayList(); // you are using raw type List
要
List<String> linhaInicial = new ArrayList();// you have to use String type List