Java检查数组内容

时间:2015-07-10 17:17:33

标签: java arrays

我遇到的问题是使用.contains()作为数组。这是我目前的代码行:

if (strings[i].contains(symbol) = true){

strings[]是一个存储用户输入数据的数组,我得到的错误信息是"赋值的左侧必须是变量"。我明白这意味着什么,我的问题是,在使用.contains()时我可以使用数组中的一个字符串,还是我错误地使用了这个字符串?

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:3)

问题在于

strings[i].contains(symbol) = true
由于=

是一项作业。你可能意味着

strings[i].contains(symbol) == true

并且,因为左侧是布尔值,

strings[i].contains(symbol)

已经足够了。

答案 1 :(得分:0)

  

我的问题是,在使用.contains()

时,我可以使用数组中的一个字符串吗?

如果您读取字符串的Java API(http://docs.oracle.com/javase/7/docs/api/java/lang/String.html),contains()是String类的方法。 通过了解,您可以在单个String元素/ String变量上使用.contains()

String str = "abc";
str.contains(symbol);     //This is ok.

String[] strs = {"abc", "def"};
str[0].contains(symbol);  //This is ok too.

上述两种情况都是允许的,因为两者都是String

String[] strs = {"abc", "def"};
str.contains(symbol);    //This is wrong!

您现在应该在代码中注意到的另一件事是:

  • 进行比较时,请使用==而非单=

  • 在比较字符串或对象时,请使用.equals()

当然,你也可以把它写成:

if(strings.[i].contains(symbol))     //if this statement is true
if(!strings.[i].contains(symbol))    //if this statement is not true

而不是

if(strings.[i].contains(symbol) == true)     //if this statement is true
if(strings.[i].contains(symbol) == false)    //if this statement is not true