不超載在JLabel部件,說我有這樣的代碼,爪哇jLabel.setText()方法與字符串
JLabel jLabel = new JLabel();
jLabel.setText(123) ;
它產生錯誤。但是寫這個,
jLabel.setText(123 + "") ;
強制int部分是一個字符串。但我不認爲像這樣寫int就是一個好主意!這個方法是否有任何重載的兄弟姐妹抓不到一個字符串?
不超載在JLabel部件,說我有這樣的代碼,爪哇jLabel.setText()方法與字符串
JLabel jLabel = new JLabel();
jLabel.setText(123) ;
它產生錯誤。但是寫這個,
jLabel.setText(123 + "") ;
強制int部分是一個字符串。但我不認爲像這樣寫int就是一個好主意!這個方法是否有任何重載的兄弟姐妹抓不到一個字符串?
你可以在這裏做的不多,setText
只需要String
參數。或者,你可以做jLabel.setText(Integer.toString(123))
,如果你覺得這更可讀。
至於一部分,只要你添加一些變量,其中至少有一個是String
,編譯器會自動調用的其他toString
,並串聯所有的字符串。 somevar + ""
(空字符串)是調用somevar.toString()
的快捷方式。
編譯器是正確的。您正在將數字傳遞給想要字符串的方法。第二種方法工作的原因是,jvm正在接受數字和字符串,並將它們加在一起,這會返回一個字符串,這就是它工作的原因。你的另一個選擇是做一些Integer.toString(123);