几个好用的方法

1、Objects.requireNonNull( )方法

源代码:

/* @param obj 需要检测是否为空的对象
* @param <T> 对象类型
* @return 对象不为空则返回该对象
* @throws 对象为空则报NullPointerException异常
*/
public static <T> T requireNonNull(T obj) {
	if (obj == null)
		throw new NullPointerException();
	return obj;
}

为什么使用它
控制行为,无论如何都要不为空,可以尽早地抛出异常。

public class Foo {
  private final Bar bar;

  public Foo(Bar bar) {
    Objects.requireNonNull(bar, "bar must not be null");
    this.bar = bar;
  }

或者更简单

  this.bar = Objects.requireNonNull(bar, "bar must not be null");

这个想法的真正力量与最终字段。因为现在类中的任何其他代码可以安全地假设 bar 不为空 - 因此您不需要任何 if(bar == null)在其他地方检查!

2、EnumSet.noneOf()方法

  • noneOf()方法在java.util包中可用。
  • noneOf()方法用于创建具有给定元素类型(ele_ty)的空枚举集。
  • noneOf()方法是静态方法,可以使用类名进行访问,如果尝试使用类对象访问该方法,则不会收到错误。
  • 在创建空白枚举集时,noneOf()方法可能会引发异常。
    NullPointerException:当给定参数为null时,可能引发此异常。

示例

//EnumSet的noneOf(Class elemenType)方法

import java.util.*;

public class NoneOfEnumSet {
    //初始化枚举变量
    //与一些常数

    public enum Colors {
        RED,
        BLUE,
        GREEN,
        PURPLE,
        YELLOW
    };

    public static void main(String[] args) {
        //在这里,我们正在创建两个EnumSet
        EnumSet < Colors > all_of = null;

        //通过使用allOf()方法是
        //获取枚举的所有元素并放入EnumSet中
        all_of = EnumSet.allOf(Colors.class);

        //显示修改后的EnumSet
        System.out.println("EnumSet.allOf(Colors.class): " + all_of);

        //通过使用noneOf()方法是 
        //没有任何元素存在
        //去创建EnumSet中none_of
        EnumSet none_of = EnumSet.noneOf(Colors.class);

        //显示修改后的EnumSet-
        System.out.println("EnumSet.noneOf(Colors.class): " + none_of);
    }
}

结果

EnumSet.allOf(Colors.class): [RED, BLUE, GREEN, PURPLE, YELLOW]
EnumSet.noneOf(Colors.class): []

String转换为int

import com.google.common.primitives.Ints;

int foo = Optional.ofNullable(myString)
 .map(Ints::tryParse)
 .orElse(0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值