此语句显示此错误:类String中包含的方法不能应用于给定类型;
boolean m=str[j].contains(a);
为什么会发生这种情况以及补救措施。如果有人帮助我会很棒..谢谢你......
答案 0 :(得分:3)
由于方法contains()
需要收到CharSequence
,因此您的变量a
可能不是CharSequence
的实例。
所以,做一个验证:
if(a instanceof CharSequence ){
boolean m=str[0].contains(a);
}
----编辑 试试这个:
CharSequence a = 'a'.toString();
boolean m = str[0].contains(a);
答案 1 :(得分:0)
如果没有围绕此声明的代码,很难确切地说出错误。但是从这一行来看,我的猜测是,变量a不是char或str类型,不是字符串,而是char。发布更多代码,也许我们可以提供更全面的帮助
更新: 根据Java Docs,发送到'contains'函数的变量必须是CharSequence类型。
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
http://docs.oracle.com/javase/7/docs/api/java/lang/CharSequence.html
答案 2 :(得分:0)
当您说str[j]
时,您正在订阅它,因此str[j]
是char
。并且contains()
方法无法应用于char
。你想做的可能就是:
String str = "StackOverflow";
boolean isOPresent = str.contains('O');
System.out.println(isOPresent); // will print true