使用Optional验证输入

Ani*_*ade 5 java optional java-8

我有一个CreateOrder实例,其中包含一些String,Integer和Double状态.当我在JUnit测试中为CreateOrder创建一个对象并将其发送时,我能够使用Optional API验证String属性而不是Integer,如下所示 -

String aoid = Optional.ofNullable(createOrder.getAltorderid()).orElse("");

int quantity = Integer.parseInt(each.getQty());
double amount = Double.parseDouble(each.getPrice().getAmount());
Run Code Online (Sandbox Code Playgroud)

喜欢aoid,我也想使用整数的null()但不能弄清楚如何.我这背后的意图是使我的安全距离NullPointerExceptions,所以我想让强大的用户OptionalIntegerDouble.我是Java 8的新手,如果我应该使用OptionalInt或者变得困惑Optional<Integer>?如果Optional<Integer>,如何使用它像我用于String?

Had*_*i J 2

尝试这个

Optional.ofNullable(each.getQty()).map(Integer::valueOf).orElse(0)
Run Code Online (Sandbox Code Playgroud)