编程示例——java.util.Optional类代码示例
本博文整理归纳了Java中java.util.Optional类的典型函数的代码示例。如果您正苦于以下问题:Java Optional类的具体用法?Java Optional怎么用?Java Optional使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Optional类属于java.util包,在下文中一共展示了Optional类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: ofNullable
public void testOptionalOfNullable() {
ImmutableList<User> userList = ImmutableList.<User>builder()
.add(User.builder().username("jack").age(12).gender("man").build())
.add(User.builder().username("john1").age(24).gender("man").build())
.add(User.builder().username("john2").age(34).gender("man").build())
.add(User.builder().username("john3").age(46).gender("man").build())
.add(User.builder().username("john4").age(12).gender("man").build())
.add(User.builder().username("john5").age(23).gender("man").build())
.add(User.builder().username("john6").age(45).gender("man").build())
.add(User.builder().username("john7").age(67).gender("man").build())
.add(User.builder().username("john8").age(56).gender("man").build())
.build();
Optional.ofNullable(userList).orElse(ImmutableList.of()).stream().forEach(e -> {
log.info(e.toString());
});
}
代码输出:
User(username=jack, age=12, gender=man, balance=null)
User(username=john1, age=24, gender=man, balance=null)
User(username=john2, age=34, gender=man, balance=null)
User(username=john3, age=46, gender=man, balance=null)
User(username=john4, age=12, gender=man, balance=null)
User(username=john5, age=23, gender=man, balance=null)
User(username=john6, age=45, gender=man, balance=null)
User(username=john7, age=67, gender=man, balance=null)
User(username=john8, age=56, gender=man, balance=null)
示例2: ifPresent
public void testOptionIfPersent() {
ImmutableList<User> userList = ImmutableList.<User>builder()
.add(User.builder().username("jack").age(12).gender("man").build())
.add(User.builder().username("john1").age(24).gender("man").build())
.add(User.builder().username("john2").age(34).gender("man").build())
.add(User.builder().username("john3").age(46).gender("man").build())
.add(User.builder().username("john4").age(12).gender("man").build())
.add(User.builder().username("john5").age(23).gender("man").build())
.add(User.builder().username("john6").age(45).gender("man").build())
.add(User.builder().username("john7").age(67).gender("man").build())
.add(User.builder().username("john8").age(56).gender("man").build())
.build();
Optional.ofNullable(userList.get(2))
.ifPresent(System.out::println);
}
代码输出:
User(username=john2, age=34, gender=man, balance=null)
示例3 of
@Test
public void testOptionalOf() {
User user = null;
Optional.of(user).get();
}
代码输出:
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Optional.<init>(Optional.java:96)
at java.util.Optional.of(Optional.java:108)
at CollectionsTest.OptionalTest.testOptionalOf(OptionalTest.java:73)
分析:of的参数不能为null
示例4 filter
@Test
public void testOptionFilter() {
User user = User.builder().username("john8").age(56).gender("man").build();
System.out.println("第一个条件过滤结果:");
Optional.of(user).filter(user1 -> user1.getUsername()=="john8").ifPresent(System.out::println);
System.out.println("第二个条件过滤筛选:");
Optional.of(user).filter(user1 -> user1.getUsername()=="jack").ifPresent(System.out::println);
}
代码输出:
第一个条件过滤结果:
User(username=john8, age=56, gender=man, balance=null)
第二个条件过滤筛选:
分析:第二个过滤条件,不满足条件,得到结果为空
正文到此结束