类型不匹配。不能在 java 中从 String 到 Student

Type mismatch. cannot from String to Student in java

一个完全菜鸟的问题。我正在尝试从 Scanner 转换为 Student 类型。这是我学术作业的一部分,因此,我不能将 return 类型的 getStudent() 方法更改为字符串。任何输入?谢谢。

public Student getStudent() {

    Scanner sc = new Scanner(System.in);
    Student name = sc.nextLine();
    return name;
}

你这样做的原因可能是因为 Student class 只有一个 name 字段。你以为只要 return 一个名字就可以假装是学生,是吗?但这不是 Java 的工作方式。 Java 的类型系统是静态的、明确的和安全的。这意味着你不能只是作弊Java,你必须指定正确类型。

现在,如果您的 Student class 还没有构造函数,请添加一个构造函数。也许是这样的:

public Student (String name) {
    this.name = name;
    // If you have other fields, assign them here.
}

现在在您的方法中,您删除 return name; 并将其替换为

return new Student (name);

你的错误结论:

String和另一个class是完全不同的类型。虽然 Student class 只有 String.

类型的字段