この記事では主に Java 8
的 Optional
@NoArgsConstructor
public
class Address { |
プライベート文字列州;
private String city; }
of + ofNullable 関連するコードは java8_demo でホストされています 12 34 5 |
121314151617 18
@Test(期待 = NoSuchElementException. class)
public void empty Test() {
//空のOptionalオブジェクトを宣言します
Optional nameOptional = Optional.empty();
|
// java.util.NoSuchElementException: 値が存在しません
nameOptional.get();} @Test(expected = NullPointerException.class) public void ofNullTest () {
// インスタンス al オブジェクトに基づいてオプションを作成します
Optional.of( new Address( "Guangdong", "Zhongshan"));
// Optional.ofNullable(null) は Optional.empty() を返しますassertEquals(Optional.empty(), Optional .ofNullable(null));
// java.lang.NullPointerException
オプション。 of(null);}
map
flatMap
Optional.map 定義: <u>map(Function super T, ? extends U> マッパー)</u>
Optional は、最大 1 つの要素を含む Stream と見なすことができます。
Stream. flatMap 定義: <r> R> flatMap(Function super T, ? extends Stream extends R>> マッパー)</r> 🎜🎜🎜🎜Optional. flatMap 定義: <u> ;U> flatMap(関数 super T、オプション<u>> マッパー)</u></u> 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜1🎜🎜2🎜🎜3🎜🎜4🎜5 🎜🎜 6 🎜🎜7🎜🎜8🎜🎜9🎜🎜10🎜🎜11🎜🎜12🎜🎜🎜🎜🎜@Test🎜🎜🎜🎜🎜 ) {🎜🎜🎜🎜🎜🎜🎜文字列州 = 🎜 "Guangdong";🎜🎜🎜String city = 🎜"Zhongshan";🎜🎜🎜Optional addressOptional = Optional.of(🎜new Address(province, city));🎜🎜🎜// マッパーの場合は T - > ; Optional、Optional.map が呼び出された場合、Optional解引用
フィルター
基础型 + Optional
只有一 元素、并没有像StreamInt 那样 Stream<integer></integer> に関連するパフォーマンスがあり、map 、 flatmap 、filter🎜🎜🎜 |
以上がJava 8——オプションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。