cuốn sách gpt4 ai đã làm

java - Giao diện có thể so sánh không có từ giao diện trước nó

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:27:55 29 4
mua khóa gpt4 Nike

Dưới đây là chi tiết, nhưng tôi muốn biết tại sao điều này lại xảy ra.

Mã mẫu:

Lớp klasa = Enum.class;
for(Loại t : klasa.getGenericInterfaces())
System.out.println(t);

Đầu ra chương trình:

java.lang.Comparable
giao diện java.io.Serializable

Tại sao nó là đầu rajava.lang.ComparableTrước đây không có giao diện từ. Đó là giao diện, phải không?

Đối với tôi, có vẻ như đầu ra phải là:

**giao diện** java.lang.Comparable
giao diện java.io.Serializable

Điều trị đặc biệt hơn?

câu trả lời hay nhất

toString phương pháp của Loại tham sốImpl (Có thể so sánhbên trongType), chỉ ra rằng "giao diện" không được xuất ra cho dù thế nào đi chăng nữa:

Chuỗi công khai toString() {
StringBuilder sb = new StringBuilder();

if (ownerType != null) {
if (ownerType instanceof Class)
sb.append(((Class)ownerType).getName());
khác
sb.append(ownerType.toString());

sb.append(".");

if (ownerType instanceof ParameterizedTypeImpl) {
// Tìm tên đơn giản của kiểu lồng nhau bằng cách loại bỏ
// chia sẻ tiền tố với chủ sở hữu.
sb.append(rawType.getName().replace( ((ParameterizedTypeImpl)ownerType).rawType.getName() + "$",
""));
} else
sb.append(rawType.getName());
} else
sb.append(rawType.getName());

if (actualTypeArguments != null &&
thực tếTypeArguments.length > 0) {
sb.append("<");
boolean đầu tiên = đúng;
for(Type t:actualTypeArguments) {
nếu (!đầu tiên)
sb.append(", ");
if (t instanceof Lớp)
sb.append(((Class)t).getName());
khác
sb.append(t.toString());
đầu tiên = sai;
}
sb.append(">");
}

return sb.toString();
}

Mặt khác, ở Lớp học của toString Trong phương thức này, nếu lớp là một giao diện thì "giao diện" sẽ được xuất ra rõ ràng.

Chuỗi công khai toString() {
return (isInterface() ? "interface " : (isPrimitive() ? "" : "class"))
+ getName();
}

Về java - Comparable không có từ giao diện trước giao diện, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19267430/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress