簡體   English   中英

BlueJ錯誤:“不兼容的類型:int無法轉換為java.lang.String”和“不兼容的類型:java.lang.String無法轉換為int”

[英]BlueJ Error: “Incompatible types: int cannot be converted java.lang.String” AND “Incompatible types: java.lang.String cannot be converted to int”

我對編碼很陌生,在嘗試了多種解決方案后,我想出了,我仍然無法弄清楚為什么我所做的是錯誤的。 這是我的完整代碼:

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;
  }
}

正如您可能看到的那樣,我在嘗試不僅能夠在第一次使用對象時添加新名稱/等級/性別/ int編號,而且還嘗試使用方法。

我得到的問題似乎是由這部分引起的:

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;

被稱為自動拳擊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM