public void createOptional(){// 创建一个空OptionalOptional<Object> empty = Optional.empty();// 依据一个非空值创建OptionalPeople people = new People();Optional<People> optionalOne = Optional.of(people);// 可接受null的OptionalPeople p = null;Optional<People> optionalTwo = Optional.ofNullable(p...
@Test(expected = NullPointerException.class)publicvoidwhenCreateOfEmptyOptional_thenNullPointerException(){ Optional<User> opt = Optional.of(user); } 你看,我们并没有完全摆脱NullPointerException。因此,你应该明确对象不为null的时候使用of()。 如果对象即可能是null也可能是非 null,你就应该使用ofNullable(...
@TestpublicvoidwhenCreatesEmptyOptional_thenCorrect() { Optional<String>empty= Optional.empty();assertFalse(empty.isPresent()); } 需要注意的是,我们使用isPresent()方法来检查Optional对象中值的情况。 如果我们创建的 Optional 对象有值的话,isPresent()方法将会返回 True,否则isPresent()这个方法将会返回 False。
Demo2.createUser(Demo2.java:31): orElse 创建的对象-- User(address=湖南) User(address=湖南) 可以看到,这个示例中,两个 Optional 对象都包含非空值,两个方法都会返回对应的非空值。不过,orElse() 方法仍然创建了 User 对象。与之相反,orElseGet() 方法不创建 User 对象。 在执行较密集的调用时,比如...
创建一个 Optional 对象 有下面的一些方法可以被用来创建Optional对象。 empty 静态方法 如果你想创建一个空的 Optional 的对象,我们简单的使用 Optional 类提供的empty()静态方法: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 @TestpublicvoidwhenCreatesEmptyOptional_thenCorrect(){Optional<String>empty=Optio...
例6-2通过of方法创建Optional publicstatic<T>Optional<T>createOptionalTheHardWay(Tvalue){returnvalue==null?Optional.empty():Optional.of(value);} Java Copy 在本例中,createOptionalTheHardWay之所以被命名为“The Hard Way”,并非因为它难以实现,而是存在另一种更简单的方法,这就是例 6-3 所示的ofNullable...
在讲述Optional之前,我们来看下通常情况下我们是如何防止空指针的。 字符串equals 字符串的操作是最常见的操作,使用字符串的equals方法很有可能抛出空指针异常,比如像下面的代码,如果a变量为Null,则毫无疑问会抛出空指针异常: a.equals("aaa"); 建议:使用Objects.equals()或者使用其他工具类方法替代,或者确保obj.equa...
user = Optional.ofNullable(user).orElseGet(() -> createUser()); } publicUsercreateUser(){ Useruser=newUser(); user.setName("zhangsan"); returnuser; } 这两个函数的区别:当user值不为""null""时,orElse函数依然会执行createUser()方法,而...
public void whenCreateEmptyOptional_thenNull() { Optional<User> emptyOpt = Optional.empty(); emptyOpt.get();// 没有值 将会抛出异常 } @Test(expected = NullPointerException.class) public void test_of() { User user=null; Optional<User> optional = Optional.of(user); ...
您可以用 of() 和 ofNullable(),来创建包含一个值的Optional 对象。两种方法的区别在于:如果你将 null 值作为参数传入 of() 方法,那么该方法会抛出一个 空指针异常。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 @Test(expected=NullPointerException.class)publicvoidwhenCreateOfEmptyOptional_thenNullPoin...