2016-11-06 123 views
1
import java.util.*; 
import java.lang.*; 

public class String{ 

    public static void main(String[] args){ 
     Scanner in=new Scanner(System.in); 
     System.out.println("Enter a String: "); 
     String s=in.nextLine(); 
    }  
} 

這是我的代碼。 每當我編譯這個java代碼我得到一個錯誤:錯誤:兼容類型:java.util.String不能轉換爲字符串

Incompatible types:java.util.String cannot be converted to String

String s=in.nextLine(); 
       ^ 

任何一個可以告訴我,我應該怎麼做才能克服它。

+0

在哪一行? –

+1

__不要爲您的班級命名爲'String'。 – tkausl

+1

不要定義一個名爲String的類。字符串已經是基本上無處不在的標準類。你不想要這樣的名字衝突。當你發佈錯誤時,請發佈真實的錯誤。沒有java.util.String這樣的事情。除非你也選擇在標準java.util包中創建你的類。不要那樣做。 –

回答

4

你不應該使用那些已經在包java.lang.*

1

這是因爲你的類被命名爲同樣喜歡Java的Stringjava.lang.*,這基本上是使用,隨處可見用於JRE的類名。

重命名您的課程或使用前綴,如com.app.myclass.String

0

使用Java包避免class名稱衝突,所以你需要使用完整的類名包名(如以下選項1),每當有多個類之間的衝突前綴。 因此,要解決你的問題,你可以選擇下列之一:

(1)java.util.String s=in.nextLine();

(2)改變你的類名MyString

您如何避免類名稱衝突看here

相關問題