5
我想了解Integer的ToString(),它看起來像這樣實施:構造函數String(int,int,char [])在哪裏定義?
public static String toString(int i) {
if (i == Integer.MIN_VALUE)
return "-2147483648";
int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
char[] buf = new char[size];
getChars(i, size, buf);
return new String(0, size, buf);
}
我跑進最後一行,它看起來並不像任何建設者在String類,除了這一個:
String(char value[], int offset, int count)
...除了該函數被調用的炭[]參數第一,不像它是如何在Integer.toString正在使用()。我的印象是,將參數的順序改變爲方法簽名的改變,並且會對方法產生不同的覆蓋。
爲什麼這個工作,或者我解釋不正確?
看看字符串的實現。它可能有一些私人的東西,不會出現在公共javadoc中。 –
但(1+)用於檢查API並提出一個深思熟慮的問題。 –
你在哪裏看到涉嫌的代碼?它不是[在Java 8中](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/9d617cfd6717/src/share/classes/java/lang/Integer.java#l397)。 – Boann