2014-08-27 72 views
0

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

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

为什么出现这种情况,如果有人帮助是什么remedy.It将是巨大的..谢谢..

+2

什么是'海峡[J]数据类型' – 2014-08-27 17:57:32

+3

什么是'数据类型了'? – rgettman 2014-08-27 17:59:14

+1

@JigarJoshi它是String类型的。更重要的问题是'a'是什么类型。 – 2014-08-27 17:59:37

回答

0

没有围绕这个声明这将是很难说什么是错的代码。但是从那一行开始,我的猜测是变量a不是char类型,str也不是字符串,而是char。发布更多的代码,也许我们可以更彻底地帮助

更新: 根据Java文档,发送到'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

+0

他发布的错误说'包含在类String中的方法不能应用于给定的类型'。这意味着str [j]必须是String类型。所以问题是什么类型是'一个'。根据java文档的 – 2014-08-27 18:02:26

+1

,包含需要一个charSequence工作。 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html – 2014-08-27 18:03:51

+0

还有错误。 'a'不是CharSequence类型。 – 2014-08-27 18:05:21

0

当你说str[j],你下标,所以str[j]char。 方法不能应用于char。你想要做什么大概是这样的:

String str = "StackOverflow"; 
boolean isOPresent = str.contains('O'); 
System.out.println(isOPresent); // will print true 
+0

其实str在我的程序中使用的是一个字符串数组.. – ashwin 2014-08-27 18:11:43

+0

那么'a'的类型是什么呢? – 2014-08-27 18:12:35

3

由于该方法需要接受一个CharSequence,可能你的变量a不是CharSequence一个实例。

所以,做了验证:

if(a instanceof CharSequence){ 
    boolean m=str[0].contains(a); 
} 

----编辑 试试这个:

CharSequence a = 'a'.toString(); 
boolean m = str[0].contains(a); 
+0

实际上是一个类型的字符..什么是差异。一个字符序列和一个字符之间.. – ashwin 2014-08-27 18:12:46

+0

该名称说的一切,我要编辑我的帖子,试图帮助你 – 2014-08-27 18:18:49

相关问题