2014-08-27 73 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

相關問題