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"};