此语句显示此错误:方法包含在类String中不能应用于给定类型;错误:方法包含在类String中不能应用于给定类型
boolean m=str[j].contains(a);
为什么出现这种情况,如果有人帮助是什么remedy.It将是巨大的..谢谢..
此语句显示此错误:方法包含在类String中不能应用于给定类型;错误:方法包含在类String中不能应用于给定类型
boolean m=str[j].contains(a);
为什么出现这种情况,如果有人帮助是什么remedy.It将是巨大的..谢谢..
没有围绕这个声明这将是很难说什么是错的代码。但是从那一行开始,我的猜测是变量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
他发布的错误说'包含在类String中的方法不能应用于给定的类型'。这意味着str [j]必须是String类型。所以问题是什么类型是'一个'。根据java文档的 – 2014-08-27 18:02:26
,包含需要一个charSequence工作。 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html – 2014-08-27 18:03:51
还有错误。 'a'不是CharSequence类型。 – 2014-08-27 18:05:21
当你说str[j]
,你下标,所以str[j]
是char
。 方法不能应用于char
。你想要做什么大概是这样的:
String str = "StackOverflow";
boolean isOPresent = str.contains('O');
System.out.println(isOPresent); // will print true
其实str在我的程序中使用的是一个字符串数组.. – ashwin 2014-08-27 18:11:43
那么'a'的类型是什么呢? – 2014-08-27 18:12:35
由于该方法需要接受一个CharSequence
,可能你的变量a
不是CharSequence
一个实例。
所以,做了验证:
if(a instanceof CharSequence){
boolean m=str[0].contains(a);
}
----编辑 试试这个:
CharSequence a = 'a'.toString();
boolean m = str[0].contains(a);
实际上是一个类型的字符..什么是差异。一个字符序列和一个字符之间.. – ashwin 2014-08-27 18:12:46
该名称说的一切,我要编辑我的帖子,试图帮助你 – 2014-08-27 18:18:49
什么是'海峡[J]数据类型' – 2014-08-27 17:57:32
什么是'数据类型了'? – rgettman 2014-08-27 17:59:14
@JigarJoshi它是String类型的。更重要的问题是'a'是什么类型。 – 2014-08-27 17:59:37