jjzjj

OptionalInt

全部标签

c# - 检查内部方法是否传递了一些可选参数

如何检查可选参数是否传递给方法?publicvoidExampleMethod(intrequired,stringoptionalstr="defaultstring",intoptionalint=10){if(optionalintwaspassed)return;}另一种方法是使用Nullable.HasValue(MSDNdefinitions,MSDNexamples):intdefault_optionalint=0;publicvoidExampleMethod(intrequired,int?optionalint,stringoptionalstr="default

java - OptionalInt.isPresent 字段的用途是什么?

查看java.util.OptionalInt的源代码,一个可选的int由一个intvalue和一个booleanisPresent组成。获取空可选int的唯一方法是通过返回OptionalInt.EMPTY的OptionalInt.empty()方法,这是所有空可选int的通用实例。如果是这种情况,那么为什么isPresent()方法实现为returnisPresent而不是this==EMPTY并减少通过删除isPresent字段来使用内存? 最佳答案 这是一个实现选择,只有编写实现的人才能给出明确的答案。但很可能这是一种将代码

java - 为什么 OptionalInt 类中没有 mapToInt() ?

IntStream类有map()、mapToObj()、mapToLong()和mapToDouble()方法,但是OptionalInt类中似乎缺少这些方法。缺少这些方法是否有充分的理由? 最佳答案 你可以相当迟钝地做OptionalIntoi=OptionalInt.of(1);oi.ifPresent(i->IntStream.of(i).map(j->j+1).forEach(System.out::println));但是不清楚为什么OptionalInt没有与IntStream相同的方法,尽管我注意到Optional有的

java - 如何将 Optional 转换为 OptionalInt?

我有一个Optional,我想将其“转换”为OptionalInt,但似乎没有一种简单的方法可以做到这一点。这是我想做的(人为的例子):publicOptionalIntgetInt(){returnOptional.ofNullable(someString).filter(s->s.matches("\\d+")).mapToInt(Integer::parseInt);}但是,Optional没有mapToInt()方法。我能想到的最好的是:returnOptional.ofNullable(someString).filter(s->s.matches("\\d+")).map

java - 我不能映射/flatMap 一个 OptionalInt 吗?

为什么在OptionalInt或其他原始可选风格上似乎没有map()/flatMap()方法?stream()映射操作允许对象和原语之间的转换。但是为什么Optional不利用这个呢?OptionalIntprofileId=OptionalInt.of(124);Optionalprofile=profileId.map(i->getProfile(i));//nosuchvalidmap()method! 最佳答案 原始可选项在设计上没有map、flatMap和filter方法。此外,根据Java8inActionp.305你不

java - OptionalInt 与 Optional<Integer>

在浏览java.util的文档时包,我惊讶地发现Optional和OptionalInt彼此没有任何关系。这似乎很难相信,因为这表明它们是不相关的类。为什么它们没有一个通用的接口(interface)、类、子类型或一些东西来揭示它们之间的关系?(当您查看它们的用途时,它们是非常相似的类。)另外,为什么需要额外的OptionalInt类(class)?为什么你不能直接使用Optional?我以为是因为int是原始的,但没有OptionalChar所以这将是一个不一致的设计选择。 最佳答案 Java8引入了很多专用于原语的内容。原因很可