File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
Filter options
Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
Original file line number Diff line number Diff line change @@ -50,7 +50,8 @@ public interface Parser {
50
50
51
51
我们来改造一下
52
52
53
- 类定义如下,这样定义findAction方法后,确保无论用户输入什么,都不会返回null对象
53
+ 类定义如下,这样定义findAction方法后,确保无论用户输入什么,都不会返回null对象:
54
+ ``` java
54
55
public class MyParser implements Parser {
55
56
private static Action DO_NOTHING = new Action () {
56
57
public void doSomething () { /* do nothing */ }
@@ -62,7 +63,7 @@ public class MyParser implements Parser {
62
63
return DO_NOTHING ;
63
64
}
64
65
}}
65
-
66
+ ```
66
67
67
68
对比下面两份调用实例
68
69
1 . 冗余: 每获取一个对象,就判一次空
@@ -90,11 +91,11 @@ ParserFactory.getParser().findAction(someInput).doSomething();
90
91
- 如果要用equal方法,请用object<不可能为空>.equal(object<可能为空>))
91
92
例如:
92
93
使用
93
- "bar".equals(foo)
94
+ ` "bar".equals(foo) `
94
95
而不是
95
- foo.equals("bar")
96
+ ` foo.equals("bar") `
96
97
- Java8或者guava lib中,提供了Optional类,这是一个元素容器,通过它来封装对象,可以减少判空。不过代码量还是不少。不爽。
97
98
- 如果你想返回null,请挺下来想一想,这个地方是否更应该抛出一个异常
98
99
99
100
stackoverflow链接:
100
- http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java?page=2&tab=votes#tab-top
101
+ http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java?page=2&tab=votes#tab-top
You can’t perform that action at this time.
0 commit comments