Java ArrayList<;字符串[]>;不能包含字符串的对象
请检查下面的代码,这显示了一些警告Java ArrayList<;字符串[]>;不能包含字符串的对象,java,android,string,arraylist,sonarqube,Java,Android,String,Arraylist,Sonarqube,请检查下面的代码,这显示了一些警告 ArrayList不能包含字符串对象 ArrayList<String[]> mName = new ArrayList<>(); mValue = "John"; if (!mName.contains(mValue)) { String[] details = new String[]{"Driver", "Part-time"}; mName.add(details); } ArrayList mName=n
ArrayList不能包含字符串对象
ArrayList<String[]> mName = new ArrayList<>();
mValue = "John";
if (!mName.contains(mValue)) {
String[] details = new String[]{"Driver", "Part-time"};
mName.add(details);
}
ArrayList mName=new ArrayList();
mValue=“John”;
如果(!mName.contains(mValue)){
字符串[]详细信息=新字符串[]{“驱动程序”,“兼职”};
mName.add(详细信息);
}
您的if
条件返回false,因为String[]
和String
是不同的类型,因此String类的equals
方法将始终返回false。你必须重新思考你的代码。请再看看这个类似的问题:您已经创建了String[]或字符串数组的ArrayList。但是您正在检查ArrayList
mName是否包含字符串。Java不允许这样做。在这种情况下,您可以检查ArrayList
是否包含任何字符串[]
。因此,如果要检查字符串“John”
是否在数组列表中,请更改
ArrayList<String[]> mName = new ArrayList<>();
到
N.B:mValue=“John”
此行缺少一个
如果(!mName.contains(mValue)){
它包含字符串数组,那么该如何工作呢?的列表
不能有String
s?错误会告诉你到底是怎么回事,读一下你自己的标题就可以了。你有一个字符串数组的列表,那么这个列表怎么会包含字符串对象呢?我一开始以为它是ArrayList,很抱歉现在理解了这个问题。谢谢你指出这个问题。谢谢你的poi解决问题
ArrayList<String> mName = new ArrayList<>();
mValue = "John"
String[] mValue = new String[]{"John"};