小编tka*_*uko的帖子

Java Streams:查找stream是否包含null

最有可能是重复,但我无法找到任何特定的.

特定

public static void main(String[] args) {
    System.out.println(
            Arrays.asList(null, null, 1)
                    .stream()
                    .filter(obj -> obj == null)
                    .findAny()
                    .isPresent()
    );
}
Run Code Online (Sandbox Code Playgroud)

期望

至少应该工作(即返回false因为findAny返回Optional).

实际

NullPointerException 被扔了

这是一个错误还是一个功能?

感谢您的意见和解释.

java java-8 java-stream

7
推荐指数
2
解决办法
4080
查看次数

Iterator.continually:无法在Scala REPL中计算表达式

有没有人知道/解释为什么REPL在评估最后一个表达式时被卡住了?奇怪的是,它不会抛出任何异常或任何东西,只是没有任何反应.

Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_40).

scala> val empty = Seq.empty[Int].iterator
empty: Iterator[Int] = empty iterator

scala> val emptyInfiniteIterator = Iterator.continually(empty).flatten
Run Code Online (Sandbox Code Playgroud)

提前感谢您的任何解释.

scala

5
推荐指数
1
解决办法
501
查看次数

在加特林中只获取响应体

我需要从响应正文中解析一个 id 并将其发送到下一个请求正文中,以供基于会话的用户使用。如果有人对此有任何想法,请分享。

我已经使用了.check(regex())and.saveAs方法,但这会将数据保存在会话中,为此我需要进行我不想要的复杂解析。

scala gatling

5
推荐指数
1
解决办法
3327
查看次数

并行集合中scala折叠的行为

让我们多次运行以下代码行:

Set(1,2,3,4,5,6,7).par.fold(0)(_ - _)
Run Code Online (Sandbox Code Playgroud)

结果非常有趣:

scala> Set(1,2,3,4,5,6,7).par.fold(0)(_ - _)
res10: Int = 8
scala> Set(1,2,3,4,5,6,7).par.fold(0)(_ - _)
res11: Int = 20
Run Code Online (Sandbox Code Playgroud)

但显然它应该像顺序版本一样:

scala> Set(1,2,3,4,5,6,7).fold(0)(_ - _)
res15: Int = -28
Run Code Online (Sandbox Code Playgroud)

我理解操作-对整数是非关联的,这就是这种行为背后的原因,但我的问题很简单:它不是意味着fold不应该在.par集合的实现中并行化吗?

parallel-processing scala

5
推荐指数
1
解决办法
1131
查看次数

通用值类

是否可以在scala中为某些定义值类Numeric[T]?我试过这样的事情:

case class Inches[T <: Numeric[T]](value: T)(implicit num: Numeric[T]) extends AnyVal
Run Code Online (Sandbox Code Playgroud)

但是我得到了编译错误value classes can have only one parameter.

有没有办法绕过这个?

先谢谢.

generics scala implicit

2
推荐指数
1
解决办法
116
查看次数

案例类没有参数替代

在一些简单的scala编码练习中,我遇到了没有参数构造函数参数重复case类的意识形态问题.

这一切都始于以下两个非常简单的类:

  trait Namespace

  case class Reply[T](namespace: Namespace, correlation: String, data: Try[T])

  abstract class Request(val namespace: Namespace, val id: String = UUID.randomUUID().toString) {

    def success[T](data: T) = Reply(namespace, id, Try(data))

    def failure(msg: String) = Reply(namespace, id, Failure(new RuntimeException(msg)))
  }
Run Code Online (Sandbox Code Playgroud)

现在让我们假设我有一个实体Post,我想添加All类作为查询所有类型记录命令Post.在我目前的设置中,实际编写以下内容会更容易:

case class All extends Request(Posts)
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,我得到编译器警告,不推荐使用不带参数的case类.所以有人可能建议将其重写为以下内容:

case object All extends Request(Posts)
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,对象All将仅与其id字段一起实例化一次,以避免每个请求具有唯一ID.

能否请您建议一种更好的表示All命令的方法,以便 …

scala case-class

0
推荐指数
1
解决办法
1022
查看次数