Skip to content

Commit 3cc0e04

Browse files
committed
Optional
1 parent a53c280 commit 3cc0e04

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
##optional类
2+
- 创建一个空Optional对象
3+
输出的是一个空的optional对象
4+
```
5+
Optional<String> optional = Optional.empty();
6+
System.out.println(optional);
7+
##:Optional.empty
8+
```
9+
- 创建一个非空Optional对象
10+
如果person是null,将会立即抛出,而不是访问person的属性时获得一个潜在的错误
11+
12+
```
13+
Person person = new Person("xu","hua");
14+
Optional<Person> optional2 = Optional.of(person);
15+
System.out.println(optional2);
16+
System.out.println(optional2.get());
17+
System.out.println(optional2.get().firstName);
18+
##:Optional[xuhua]
19+
xuhua
20+
xu
21+
```
22+
- 判断对象是否存在
23+
```
24+
System.out.println(optional.isPresent());
25+
System.out.println(optional2.isPresent());
26+
##:false
27+
true
28+
```
29+
- 如果Optional为空返回默认值
30+
```
31+
System.out.println(optional.orElse("fallback"));
32+
optional.ifPresent(System.out::println);
33+
##:fallback
34+
xuhua
35+
```

src/main/java/com/xu/java8/Optional/Optional1.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@ public static void main(String[] args) {
1616

1717
/**创建一个空Optional对象*/
1818
Optional<String> optional = Optional.empty();
19+
System.out.println(optional);
1920

2021
/**创建Optional对象有一个非空值*/
2122
Person person = new Person("xu","hua");
2223
Optional<Person> optional2 = Optional.of(person);//如果person是null,将会立即抛出,而不是访问person的属性时获得一个潜在的错误
2324
System.out.println(optional2);
25+
System.out.println(optional2.get());
26+
System.out.println(optional2.get().firstName);
2427

2528
/**判断对象是否存在*/
2629
System.out.println(optional.isPresent());

0 commit comments

Comments
 (0)