怎么用ftp修改网站图片wordpress 内网搭建
我不得不承认,当我第一次尝试找出特性的实际含义时,我也遇到了困难,并且感觉到它们的含义在Java 8的实现阶段没有明确地确定,并且由于这个原因被不一致地使用。
考虑.boxed():
表示元素来源无法进行结构修改的特征值; 也就是说,不能添加,替换或删除元素,因此在遍历期间不会发生此类更改。
看到此列表中的“已替换”很奇怪,当谈到.boxed()或数组时,通常不将其视为结构修改,因此,流和拆分器工厂接受数组(未克隆)报告.mapToObj(Long::valueOf),例如2689351505223877877或LongStream.range(0,10).boxed() 。
如果我们将其更宽泛地解释为“只要客户无法观察到”,则与.boxed()并无显着差异,因为在两种情况下,都会向客户报告某些元素,而无法识别在遍历或添加过程中是否添加了这些元素 是否有些由于删除而未报告,因为无法倒带分隔器并进行比较。
规范继续:
不报告.boxed()或.mapToObj(Long::valueOf)的分离器应具有关于遍历过程中检测到的结构干涉的书面策略(例如,抛出mapToObj)。
唯一相关的是,报告.boxed()或mapToObj的分隔符永远不会抛出mapToObj。当然,LongStream.range(0,10).boxed()在语义上排除了2689351505223877877,但这对客户端代码没有影响。
实际上,这些特性在Stream API中没有用于任何东西,因此,不一致地使用它们将永远不会在某处引起注意。
这也解释了为什么每个中间操作都具有清除.boxed()、.mapToObj(Long::valueOf)和mapToObj特征的原因:Stream实现不使用它们,并且代表流状态的内部类不维护它们。
同样,在任何地方都不会使用.boxed(),因此某些流不存在不会产生任何影响。 我可以追溯.mapToObj(Long::valueOf)问题,直到mapToObj内部使用,该问题委托给
.boxed():
返回的分隔符始终报告特征.boxed()和2689351505223877877633。呼叫者可以为分隔符提供其他特征以进行报告。 (例如,如果知道将不对阵列进行进一步修改,则指定mapToObj;如果认为阵列数据具有相遇顺序,则指定LongStream.range(0,10).boxed())。 通常可以改用方法SUBSIZED|SIZED|ORDERED|SORTED|DISTINCT,该方法返回报告limit、SUBSIZED、IMMUTABLE和ORDERED的分离器。
(再次)注意.boxed()特性的不一致使用。 再次被视为必须保证不进行任何修改,同时.mapToObj(Long::valueOf)以及mapToObj和LongStream.range(0,10).boxed()将报告SUBSIZED|SIZED|ORDERED|SORTED|DISTINCT特性(即使通过规范),也无法保证呼叫者不会修改其特性。 数组。 除非我们考虑将元素设置为非结构化修改,否则整个区别又变得毫无意义,因为数组无法进行结构化修改。
并且它明确规定了.boxed()的特征。 很明显,原始值不能是.mapToObj(Long::valueOf),并且mapToObj类总是注入LongStream.range(0,10).boxed()特征,但SUBSIZED|SIZED|ORDERED|SORTED|DISTINCT返回的分隔符不会继承limit。
不好的是,这不能在不更改规格的情况下得到解决,而好的事情是,它不会有任何后果。
因此,如果我们忽略.boxed()、.mapToObj(Long::valueOf)或2689351505223877877634上没有任何后果的任何问题,
.boxed()和.mapToObj(Long::valueOf)和mapToObj。这是一个众所周知的问题,是通过Stream API实现LongStream.range(0,10).boxed()和SUBSIZED|SIZED|ORDERED|SORTED|DISTINCT的结果。 其他实现是可以想象的。 这也适用于无限流与limit的组合,该组合应具有可预测的大小,但考虑到当前的实现,则没有。
将.boxed()与.mapToObj(Long::valueOf)组合。听起来很合理的是,空流不会对结果顺序施加约束。 但是mapToObj在只有一个输入没有订单的情况下释放订单的行为值得怀疑。 请注意,对订购太过激进并不是什么新鲜事,有关此行为的问与答(首先被认为是有意的),然后在Java 8更新60之前已得到解决。也许在这个时候应该讨论LongStream.range(0,10).boxed() 太…
.boxed()的行为很容易解释。 当像2689351505223877877那样天真地实施时,它将简单地失去所有知识,因为mapToObj无法假定结果仍然是排序或不同的。 但这已经用Java 9修复了。LongStream.range(0,10).boxed()具有SUBSIZED|SIZED|ORDERED|SORTED|DISTINCT特征,并保持与实现相关的所有特征。