错误:类String中包含的方法不能应用于给定的类型

时间:2014-08-27 17:56:29

标签: java string

此语句显示此错误:类String中包含的方法不能应用于给定类型;

boolean m=str[j].contains(a); 

为什么会发生这种情况以及补救措施。如果有人帮助我会很棒..谢谢你......

3 个答案:

答案 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