Skip to content

Commit 8c3733a

Browse files
authored
Update 04_Maintain_Binary_Compatibility.md
1 parent 78cd592 commit 8c3733a

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

ch08/04_Maintain_Binary_Compatibility.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
如果擦除通用代码的签名与遗留代码的签名相同,并且两个版本都编译为相同的字节代码,则可以保证二进制兼容性。通常情况下,这是自然发生的自然结果,但在本节
1010
中,我们将看到一些可能导致问题的角落案例。
1111

12-
本节的一些示例摘自Mark Reinhold编写的内部Sun笔记
12+
本节的一些示例摘自 `Mark Reinhold` 编写的内部 `Sun` 笔记
1313

14-
调整擦除与集合类中的max方法的生成有关的一个边角情况出现了。我们在第3.2节和第3.6节中讨论了这种情况,但值得快速回顾一下。
14+
调整擦除与集合类中的 `max` 方法的生成有关的一个边角情况出现了。我们在第 `3.2` 节和第 `3.6` 节中讨论了这种情况,但值得快速回顾一下。
1515

1616
这是这种方法的遗留签名:
1717

@@ -48,9 +48,9 @@ T max(Collection<? extends T> coll)
4848
```java
4949
// 旧版本
5050
public class Integer implements Comparable {
51-
public int compareTo(Object o) { ... }
52-
public int compareTo(Integer i) { ... }
53-
...
51+
public int compareTo(Object o) { ... }
52+
public int compareTo(Integer i) { ... }
53+
...
5454
}
5555
```
5656

@@ -59,8 +59,8 @@ public int compareTo(Integer i) { ... }
5959
```java
6060
// 通用版本 - 保持二进制兼容性
6161
public final class Integer implements Comparable<Integer> {
62-
public int compareTo(Integer i) { ... }
63-
...
62+
public int compareTo(Integer i) { ... }
63+
...
6464
}
6565
```
6666

@@ -71,8 +71,8 @@ public int compareTo(Integer i) { ... }
7171
```java
7272
// 旧版本
7373
public interface Name extends Comparable {
74-
public int compareTo(Object o);
75-
...
74+
public int compareTo(Object o);
75+
...
7676
}
7777
```
7878

@@ -81,8 +81,8 @@ public int compareTo(Object o);
8181
```java
8282
// 通用版本 - 打破二进制兼容性
8383
public interface Name extends Comparable<Name> {
84-
public int compareTo(Name n);
85-
...
84+
public int compareTo(Name n);
85+
...
8686
}
8787
```
8888

@@ -91,8 +91,8 @@ public int compareTo(Name n);
9191
```java
9292
// 通用版本 - 保持二进制兼容性
9393
public interface Name extends Comparable<Object> {
94-
public int compareTo(Object o) { ... }
95-
...
94+
public int compareTo(Object o) { ... }
95+
...
9696
}
9797
```
9898

@@ -120,8 +120,8 @@ public int compareTo(Object o) { ... }
120120

121121
```java
122122
class Object {
123-
public Object clone() { ... }
124-
...
123+
public Object clone() { ... }
124+
...
125125
}
126126
```
127127

0 commit comments

Comments
 (0)