Sau đây là một constructor của Chuỗi lớplàm thế nào có thể 'originalValue.length> size' xảy ra trong hàm tạo String?
public String(String original) {
int size = original.count;
char[] originalValue = original.value;
char[] v;
if (originalValue.length > size) {
// The array representing the String is bigger than the new
// String itself. Perhaps this constructor is being called
// in order to trim the baggage, so make a copy of the array.
int off = original.offset;
v = Arrays.copyOfRange(originalValue, off, off+size);
} else {
// The array representing the String is the same
// size as the String, so no point in making a copy.
v = originalValue;
}
this.offset = 0;
this.count = size;
this.value = v;
}
Nhưng, tôi tự hỏi có bao
if (originalValue.length > size)
có thể xảy ra? Nhận xét cho biết 'cắt hành lý', hành lý hành lý là gì?
Nhìn vào các hàm tạo và phương thức khác của lớp Chuỗi này. Có cách nào để tạo ra một chuỗi với một không gian được phân bổ lớn hơn trong mảng hơn là những gì cần thiết cho nội dung thực tế? –