您能告诉我为什么下面的代码中包含不起作用:
String str=
"/XYZ1/Test3-NV28"+
"/678/13855497776650XB"+
"/123/";
if ("XYZ".contains(str))
System.out.println("yes");
else
System.out.println("no");
}
RP
答案 0 :(得分:3)
您以错误的方式使用Yoda style condition
。您必须将其用作
if (str.contains("XYZ")) {
}
进一步澄清
String x= "test";
if (x.contains("est")) { //true
System.out.println("true");
}
if(x.contains("set")){ //false
System.out.println("false");
}
答案 1 :(得分:0)
更改
if ("XYZ".contains(str))
要
if (str.contains("XYZ"))
答案 2 :(得分:0)
将此if ("XYZ".contains(str))
更改为if (str.contains("XYZ"))
您正在搜索XYZ
中是否存在String str
当且仅当此字符串包含指定的char值序列时,才返回true。
答案 3 :(得分:0)
应该是
str.contains("XYZ")
因为str
包含"XYZ"
,但XYZ
不包含str
包含方法名称本身就说明了方法的含义...
答案 4 :(得分:0)
答案 5 :(得分:0)
如果我们有两个字符串,并且我们想要使用contains方法对它们进行比较,则包含的字符串必须是原始字符串的子集。 即
String originalString="Africa is a continent";
System.oout.println(originalString.contains("Africa"))
///true, will be printed because Africa is in
///the originalString
}
System.out.println("Africa".contains(OriginalString))// it will print false
}