Java eclipse String Error

前端 未结 5 718
夕颜
夕颜 2021-01-19 10:16

I\'m New to Java and I am following some instruction, However When I get to the Strings section

public class String {
    public static void main(S         


        
相关标签:
5条回答
  • 2021-01-19 10:49

    You were careful to fully-qualify your reference to java.lang.String for the name variable, but not for the args parameter to main.

    Use

    public static void main(java.lang.String[] args) {
    

    Of course, this all resulted because you named your class String, the same name as a built-in class in Java. Perhaps you could name it StringTest instead? That would avoid having to worry about class name collision and fully qualifying the Java built-in String.

    0 讨论(0)
  • 2021-01-19 10:55

    why don't you try this

    public class StringFirstTry {
    public static void main(String[] args) {
        String name;
        name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
    

    }

    0 讨论(0)
  • 2021-01-19 11:02

    If you insist on using String as your class name it should be:

    public class String {
        public static void main(java.lang.String[] args) {
            java.lang.String name;
            name = "luke";
            System.out.println("Hello, " + name + "pleased to meet you");
        }
    } 
    

    I don't think it's particularly wise to try and re-use the names of classes defined in java.lang though.

    0 讨论(0)
  • 2021-01-19 11:06

    As your class hides the java.lang.String name, you need to write

    public static void main(java.lang.String[] args) {
    

    Better call your class StringTest or something else to avoid this confusion.

    public class StringTest {
        public static void main(String[] args) {
            String name = "luke";
            System.out.println("Hello, " + name + "pleased to meet you");
        }
    }
    
    0 讨论(0)
  • 2021-01-19 11:07

    Since your class is named String, it is being inferred by the compiler as the argument type of your main method.

    Try fully qualifying the argument type instead:

    public static void main(java.lang.String[] args) {
    ...
    

    Or better yet, rename your class to use and non-java.lang class name.

    0 讨论(0)
提交回复
热议问题