我有一个对象列表说car.我想基于使用Java 8的一些参数来过滤此列表.但是如果参数是null,它会抛出NullPointerException.如何过滤掉空值?
目前的代码如下
requiredCars = cars.stream().filter(c -> c.getName().startsWith("M"));
Run Code Online (Sandbox Code Playgroud)
NullPointerException如果getName()返回则抛出null.
是否有一个BigDecimal库,其中包含允许空值的BigDecimal基本操作?
出于数学目的,Null应被视为0.
我不想对可能的空值进行所有空值检查.
您永远不会在数据库,应用程序或视图中允许空值并初始化所有内容new BigDecimal(0)或对可空值的每次使用执行空值检查.
就像是:
public static BigDecimal add(final BigDecimal value, final BigDecimal augend)
{
if (value == null)
return augend;
else if (augend == null)
return value;
else
return value.add(augend);
}
public static BigDecimal multiply(final BigDecimal value, final BigDecimal multiplicand)
{
if (value == null || multiplicand == null)
return null;
return value.multiply(multiplicand);
}
Run Code Online (Sandbox Code Playgroud) 我想使用java流来迭代列表并找到BigDecimal最低价格.以下说明,但不起作用(因为min()不能接受BigDecimal.
class Product {
public BigDecimal price;
}
List<Product> products;
products.stream().min((Product) p -> p.price);
Run Code Online (Sandbox Code Playgroud)