0
在String構造的代碼 -在這種情況下'大小> originalValue.length'在字符串構造函數 - 字符串(原始字符串)?
public String(String original) {
int size = original.count;
char[] originalValue = original.value;
char[] v;
if (originalValue.length > size) {
int off = original.offset;
v = Arrays.copyOfRange(originalValue, off, off+size);
}
.
.
.
}
我感到困惑的這一行:
if (originalValue.length > size) {
在情況下,我們有一些像
String s1 = "Abcd";
String s3 = new String(s1.substring(3));
然後根據代碼
original = "d";
size = 1;
originalValue.length = 1;
所以size
和originalValue.length
在這裏是一樣的。
我錯了嗎?我尋找答案,但找不到任何滿意的答案,所以我爲此發佈了一個新問題。當size> originalValue.length時,請幫助我理解確切的情況。謝謝
這是舊代碼。你在看什麼版本的Java? –
@SotiriosDelimanolis - 我猜他正在使用Jdk 1.6。 – TheLostMind
是JDK 1.6。被這個部分弄糊塗了,s0問道。 –