我遇到的问题是使用.contains()
作为数组。这是我目前的代码行:
if (strings[i].contains(symbol) = true){
strings[]
是一个存储用户输入数据的数组,我得到的错误信息是"赋值的左侧必须是变量"。我明白这意味着什么,我的问题是,在使用.contains()
时我可以使用数组中的一个字符串,还是我错误地使用了这个字符串?
任何帮助将不胜感激。感谢。
答案 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