2016-11-06 7 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という名前のクラスを定義しないでください。 Stringはすでに基本的にどこでも使用されている標準クラスです。あなたはそのような名前の衝突を望んでいません。そして、あなたがエラーを投稿するとき、本当のものを投稿してください。 java.util.Stringのようなものはありません。また、標準のjava.utilパッケージでクラスを作成することを選択した場合を除きます。どちらもしないでください。 –

答えて

4

あなたのクラスは、JavaのStringjava.lang.*からのように同じ名前が付けられますので、基本的にどこでも使用されていること、たまたますでにパッケージjava.lang.*

1

にJREで使用されている、あなたのクラスの名前を使用しないでください。

クラス名を変更したり、のようなプレフィックスを使用してください。 Javaパッケージを使用して

0

class名前の衝突を回避し、あなたが複数のクラスの間に矛盾があるたびに、パッケージ名(下記のようなオプション1)と接頭辞の完全なクラス名を使用する必要があります。だからあなたの問題を解決するために は、次のいずれかを選ぶことができます。

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

(2)あなたは、クラス名の競合を避ける方法にhereを見て自分のクラス名MyString

を変更します。

関連する問題