mirror of
https://github.com/sjsdfg/effective-java-3rd-chinese.git
synced 2025-03-03 13:50:57 +08:00
Update 88. 保护性的编写 readObject 方法.md
This commit is contained in:
parent
2bfff11908
commit
e057583e5e
@ -8,11 +8,11 @@ public final class Period {
|
||||
private final Date start;
|
||||
private final Date end;
|
||||
/**
|
||||
* @param start the beginning of the period
|
||||
* @param end the end of the period; must not precede start
|
||||
* @throws IllegalArgumentException if start is after end
|
||||
* @throws NullPointerException if start or end is null
|
||||
*/
|
||||
* @param start the beginning of the period
|
||||
* @param end the end of the period; must not precede start
|
||||
* @throws IllegalArgumentException if start is after end
|
||||
* @throws NullPointerException if start or end is null
|
||||
*/
|
||||
public Period(Date start, Date end) {
|
||||
this.start = new Date(start.getTime());
|
||||
this.end = new Date(end.getTime());
|
||||
@ -48,7 +48,7 @@ public class BogusPeriod {
|
||||
(byte)0xac, (byte)0xed, 0x00, 0x05, 0x73, 0x72, 0x00, 0x06,
|
||||
0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x40, 0x7e, (byte)0xf8,
|
||||
0x2b, 0x4f, 0x46, (byte)0xc0, (byte)0xf4, 0x02, 0x00, 0x02,
|
||||
0x4c, 0x00, 0x03, 0x65, 0x6e, 0x64, 0x74, 0x00, 0x10, 0x4c,
|
||||
0x4c, 0x00, 0x03, 0x65, 0x6e, 0x64, 0x74, 0x00, 0x10, 0x4c,
|
||||
0x6a, 0x61, 0x76, 0x61, 0x2f, 0x75, 0x74, 0x69, 0x6c, 0x2f,
|
||||
0x44, 0x61, 0x74, 0x65, 0x3b, 0x4c, 0x00, 0x05, 0x73, 0x74,
|
||||
0x61, 0x72, 0x74, 0x71, 0x00, 0x7e, 0x00, 0x01, 0x78, 0x70,
|
||||
@ -66,14 +66,14 @@ public class BogusPeriod {
|
||||
}
|
||||
// Returns the object with the specified serialized form
|
||||
static Object deserialize(byte[] sf) {
|
||||
try {
|
||||
return new ObjectInputStream(
|
||||
new ByteArrayInputStream(sf)).readObject();
|
||||
}
|
||||
catch (IOException | ClassNotFoundException e) {
|
||||
throw new IllegalArgumentException(e);
|
||||
}
|
||||
try {
|
||||
return new ObjectInputStream(
|
||||
new ByteArrayInputStream(sf)).readObject();
|
||||
}
|
||||
catch (IOException | ClassNotFoundException e) {
|
||||
throw new IllegalArgumentException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user