错误:兼容类型:java.util.String无法转换为String

时间:2016-11-06 11:47:34

标签: java string

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无法转换为String

String s=in.nextLine();
                ^  

任何人都可以告诉我该怎么做才能克服它。

3 个答案:

答案 0 :(得分:4)

您不应该使用已在包java.lang.*

中的JRE中使用的类的名称

答案 1 :(得分:1)

之所以发生这种情况,是因为您的类名称与来自String的Java java.lang.*的名称相同,基本上无处不在。

重命名您的课程或使用com.app.myclass.String等前缀。

答案 2 :(得分:0)

使用Java包避免了class名称冲突,因此您需要使用包名称的完整类名前缀(如下面的 option1 )是多个类之间的冲突。 因此,要解决您的问题,您可以选择以下其中一项:

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

(2)更改您的班级名称MyString

关于如何避免类名冲突,你看here