java - 蓝杰错误 : "Incompatible types: int cannot be converted java.lang.String" AND "Incompatible types: java.lang.String cannot be converted to int"

标签 java bluej

我是编码的新手,在尝试了多种解决方案后,我仍然无法弄清楚为什么我的做法是错误的。这是我的完整代码:

public class Student {
  private String name;
  private String grade;
  private String gender;
  private int number;

  public Student( String name,  String grade, String gender, int number ) {
    this.name = name;
    this.grade = grade;
    this.gender = gender;
    this.number = number;
  }

  public String getName() {
    return name;
  }

  public void setName( String name ) {
    this.name = name;
  }

  public String getGrade() {
   return grade;
  }

  public void setGrade( String grade ) {
    this.grade = grade;
  }

  public String getGender() {
    return gender;
  }

  public void setGender( String gender ) {
    this.gender = gender;
  }

  public String getNumber() {
    return number;
  }

  public void setNumber( String number ) {
    this.number = number;
  }
}

正如您可能看到的那样,我尝试不仅能够在第一次使用对象时添加新的名称/等级/性别/整数,而且还可以通过使用方法来添加。

我遇到的问题似乎是这部分引起的:

public String getNumber() {
  return number;
}

public void setNumber( String number ) {
  this.number = number;
}

当我将鼠标悬停在第二行的“数字”上时,BlueJ 给出以下错误:“不兼容的类型:int 无法转换为 java.lang.String”

尽管当我将鼠标悬停在第五行的“数字”上时,BlueJ 给出了错误:“不兼容的类型:java.lang.String 无法转换为 int”

我试过在这个网站上搜索过类似的问题,但没有找到他们尝试使用 int 数字通过使用方法填充的地方。

最佳答案

String 和 int 是两种不同的类型,与 Integer 和 int 相比,没有编译器可以自动将一个转换为另一个。

但是有多种辅助方法可以解决这个问题,例如:

String asString = Integer.toString(123);

int 转换为 String;和

int number = Integer.parseInt("123"); 

反之亦然。

郑重声明:您可以编写

Integer integerObject = 5;

被称为auto-boxing .

关于java - 蓝杰错误 : "Incompatible types: int cannot be converted java.lang.String" AND "Incompatible types: java.lang.String cannot be converted to int",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43801235/

相关文章:

java - 使用 joda 时间从开始加上频率计算下一个日期的最佳方法

java - 使用扫描仪读取

Java 如何将元素添加到数组中?

java - bluej 中的纸牌游戏

java - 文件索引程序不工作

java - 在Java中如何将字符串转换为整数?

java - 如何处理另一个类的对象

java - Logback 中的 Log4j2 标记

java - 从打开的 JComboBox 中打开 JPopupMenu

java - 正则表达式修改xpath表达式