sjsdfg
|
efbfb31975
|
32. 合理地结合泛型和可变参数
|
2018-11-11 00:32:54 +08:00 |
|
sjsdfg
|
b4579bc8f7
|
31. 使用限定通配符来增加API的灵活性
|
2018-11-04 16:27:52 +08:00 |
|
sjsdfg
|
ff5d7b2875
|
31.使用限定通配符来增加 API 的灵活性
|
2018-11-04 16:26:24 +08:00 |
|
sjsdfg
|
61d0b0936f
|
30. 优先使用泛型方法
|
2018-11-02 10:56:14 +08:00 |
|
sjsdfg
|
926c8c3b73
|
29. 优先考虑泛型
|
2018-11-01 10:49:54 +08:00 |
|
sjsdfg
|
525ee3a40b
|
28. 列表优于数组
|
2018-10-31 20:13:56 +08:00 |
|
sjsdfg
|
d6f5807a98
|
27. 消除非检查警告
|
2018-10-29 16:07:19 +08:00 |
|
sjsdfg
|
6fd72fa646
|
27. 消除非检查警告
|
2018-10-29 15:58:39 +08:00 |
|
sjsdfg
|
e69351fdad
|
27. 消除非检查警告
|
2018-10-29 15:57:47 +08:00 |
|
sjsdfg
|
5aa6df82a6
|
26. 不要使用原始类型
|
2018-10-27 11:15:15 +08:00 |
|
sjsdfg
|
c9546aea9d
|
25. 将源文件限制为单个顶级类
|
2018-10-25 20:04:09 +08:00 |
|
Joe
|
7aca1a46e4
|
Update README.md
|
2018-10-24 09:45:22 +08:00 |
|
sjsdfg
|
6045df11d1
|
24. 优先考虑静态成员类
|
2018-10-24 09:44:01 +08:00 |
|
sjsdfg
|
6787597219
|
23. 优先使用类层次而不是标签类
|
2018-10-23 10:44:03 +08:00 |
|
sjsdfg
|
d045f8a0b6
|
22. 接口仅用来定义类型
|
2018-10-22 11:34:20 +08:00 |
|
sjsdfg
|
09774ab2ba
|
21. 为后代设计接口
|
2018-10-21 09:42:19 +08:00 |
|
sjsdfg
|
b692fe453e
|
20. 接口优于抽象类
|
2018-10-19 10:56:26 +08:00 |
|
sjsdfg
|
5b354f9c0b
|
update
|
2018-10-18 10:17:09 +08:00 |
|
sjsdfg
|
03ecad9f03
|
19. 如使用继承则设计,应当文档说明,否则不该使用
|
2018-10-18 10:11:59 +08:00 |
|
sjsdfg
|
24a77b63f8
|
18. 组合优于继承
|
2018-10-17 16:33:42 +08:00 |
|
sjsdfg
|
458dcab813
|
17. 最小化可变性
|
2018-10-16 09:47:50 +08:00 |
|
Joe
|
2c5acf7a3f
|
Update 01. 考虑使用静态工厂方法替代构造方法.md
|
2018-10-15 16:08:40 +08:00 |
|
Joe
|
ffbb1daaa9
|
Update 01. 考虑使用静态工厂方法替代构造方法.md
|
2018-10-15 16:08:21 +08:00 |
|
sjsdfg
|
6ea5c6c662
|
16. 在公共类中使用访问方法而不是公共属性
|
2018-10-15 10:28:46 +08:00 |
|
sjsdfg
|
6c5c4e2ad6
|
16. 在公共类中使用访问方法而不是公共属性
|
2018-10-15 10:27:55 +08:00 |
|
sjsdfg
|
21697b402d
|
16. 在公共类中使用访问方法而不是公共属性
|
2018-10-15 10:22:35 +08:00 |
|
sjsdfg
|
cf4c438508
|
15. 使类和成员的可访问性最小化
|
2018-10-14 13:54:06 +08:00 |
|
sjsdfg
|
184b5aceba
|
15. 使类和成员的可访问性最小化
|
2018-10-14 10:18:13 +08:00 |
|
sjsdfg
|
fc60374d61
|
update
|
2018-10-13 11:53:08 +08:00 |
|
sjsdfg
|
aafa9370c3
|
14.考虑实现 Comparable 接口
|
2018-10-13 11:14:04 +08:00 |
|
sjsdfg
|
a0d41d077e
|
13. 谨慎地重写 clone 方法
|
2018-10-12 09:22:52 +08:00 |
|
sjsdfg
|
50838fb534
|
12. 始终重写 toString 方法
|
2018-10-11 09:41:58 +08:00 |
|
Joe
|
ae2f687109
|
Update 11. 重写equals方法时同时也要重写hashcode方法.md
|
2018-10-10 11:27:41 +08:00 |
|
Joe
|
b4914113ca
|
Update 11. 重写equals方法时同时也要重写hashcode方法.md
|
2018-10-10 11:26:06 +08:00 |
|
sjsdfg
|
138823990d
|
update 11. 重写 equals 方法时同时也要重写 hashcode 方法
|
2018-10-10 11:24:08 +08:00 |
|
sjsdfg
|
526a90835d
|
11. 重写 equals 方法时同时也要重写 hashcode 方法
|
2018-10-10 11:20:46 +08:00 |
|
Joe
|
52ccfe71a4
|
Update 10. 重写equals方法时遵守通用约定.md
|
2018-10-09 11:39:24 +08:00 |
|
Joe
|
21680a3164
|
Update README.md
|
2018-10-09 11:32:23 +08:00 |
|
sjsdfg
|
b01bbe93c2
|
Merge branch 'master' of https://github.com/sjsdfg/effctive-java-3rd-chinese
|
2018-10-09 11:30:56 +08:00 |
|
sjsdfg
|
adb7b99b3c
|
10. 重写 equals 方法时遵守通用约定
|
2018-10-09 11:29:14 +08:00 |
|
Joe
|
e3bfed5de6
|
Update README.md
|
2018-10-09 11:27:28 +08:00 |
|
sjsdfg
|
396659612f
|
10. 重写 equals 方法时遵守通用约定
|
2018-10-09 11:24:24 +08:00 |
|
sjsdfg
|
2a18fa4c6a
|
9. 使用 try-with-resources 语句替代 try-finally 语句
|
2018-10-06 09:33:31 +08:00 |
|
sjsdfg
|
6c6e59d2c0
|
8. 避免使用 Finalizer 和 Cleaner 机制
|
2018-10-03 21:29:41 +08:00 |
|
sjsdfg
|
295421cb7a
|
7. 消除过期的对象引用
|
2018-10-02 23:18:16 +08:00 |
|
sjsdfg
|
8bffae04b9
|
6. 避免创建不必要的对象
|
2018-09-30 13:50:46 +08:00 |
|
sjsdfg
|
58d9f5aa04
|
05. 使用依赖注入取代硬连接资源(hardwiring resources)
|
2018-09-28 13:27:04 +08:00 |
|
sjsdfg
|
21dc02a4db
|
# 4. 使用私有构造方法执行非实例化
|
2018-09-27 13:34:38 +08:00 |
|
sjsdfg
|
f2e6f7ef08
|
更新
|
2018-09-26 21:07:14 +08:00 |
|
sjsdfg
|
335f0f2f8d
|
no message
|
2018-09-26 21:06:03 +08:00 |
|