簡體   English   中英

(Java) 如何修復不兼容的類型錯誤

[英](Java) How to fix incompatible types error

我有一些看起來像這樣的代碼:

public class Name { 
    private char initial1;
    private char initial2;

    public Name(char initial1, char initial2) {
        this(initial1 + initial2);
    }
    public String toString() {
        return initial1 + initial2;
    }
}

當我編譯時,我收到 2 個錯誤,說:“類型不兼容:int 無法轉換為字符串”,箭頭指向“+”符號。 我該如何解決? 任何幫助表示贊賞。 謝謝!

編輯:我忘了提到我正在使用 this(initial1 + initial2) 調用超類,而且我確實有另一個構造函數。

char被視為一個字節,因此initial1 + initial2返回一個字節而不是字符串。 您想要的是先將其轉換為字符串,然后進行連接:

public String toString() {
    return Character.toString(initial1) + Character.toString(initial2);
}

你的構造函數也錯了

public class Name { 
  private char initial1;
  private char initial2;

  public Name(char initial1, char initial2) {
    this.initial1 = initial1;
    this.initial2 = initial2;
  }

  public String toString() {
    return String.format("%c%c", initial1 , initial12);
  }
}

暫無
暫無

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

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