小编Har*_*dya的帖子

抽象类型模式是未选中的,因为它是通过擦除来消除的

有人可以告诉我如何避免下面的代码块中的警告:

abstract class Foo[T <: Bar]{
  case class CaseClass[T <: Bar](t: T)
  def method1 = {
    case CaseClass(t: T) => println(t)
    csse _ => 
  }
}
Run Code Online (Sandbox Code Playgroud)

这会导致编译器警告:

 abstract type pattern T is unchecked since it is eliminated by erasure
 case CaseClass(t: T) => println(t)
                   ^
Run Code Online (Sandbox Code Playgroud)

scala

24
推荐指数
1
解决办法
7684
查看次数

懒惰地解析非常大的xml

我有一个巨大的xml文件(40 gbs).我想从中提取一些字段而不将整个文件加载到内存中.有什么建议?

scala xml-parsing

9
推荐指数
1
解决办法
8864
查看次数

从java.util.Vector转换为scala Seq

我可以看到有一些方法可以从java列表转换为scala seq,例如(使用asScala方法),但我找不到java.util.Vector的任何转换器.这种转换也有类似的方式吗?

scala scala-java-interop

7
推荐指数
1
解决办法
3773
查看次数

在javascript中飞行java编译器

我正在尝试构建一个在线java编辑器.我需要的功能使我能够在点击提交时向用户报告编译错误(如果有的话).我很想知道是否有任何javascript库,我可以使用现成的工具来做到这一点.

javascript

6
推荐指数
1
解决办法
182
查看次数

scala方法中的单个默认参数

如果我用一个带有默认值的参数定义一个方法,我可以调用它而不传递任何参数吗?

scala> def printArgs(str:String = "default"){println(str)}
printArgs: (str: String)Unit

scala> printArgs
<console>:11: error: missing arguments for method printArgs in object $iw;
follow this method with '_' if you want to treat it as a partially applied function
              printArgs
              ^
Run Code Online (Sandbox Code Playgroud)

scala

3
推荐指数
1
解决办法
292
查看次数

Scala循环选择:功能循环与传统for循环

是否使用功能构造(map,foreach,flatMap等)更好地循环集合?作为一个虚拟问题,考虑我有一个字符串列表,我想按不同的标准过滤字符串,然后映射它们以获得一些价值.请考虑以下代码:

val x1 = list.filter(criteria1).map(do_something)
val x2 = list.filter(criteria2).map(do_something)
Run Code Online (Sandbox Code Playgroud)

假设我有5个这样不同的过滤条件然后通过这种方式我将循环遍历列表(可能很大)10次(一次使用过滤器,一次使用地图).

但是,我可以将所有这些组合成一个for循环并在单个迭代中返回/填充5个新列表,然后映射每个列表总共6个循环而不是10个循环.

for(i<- 0 to list.length-1){
  if(criteria1) //filter
  if(criteria2) //filter
}
Run Code Online (Sandbox Code Playgroud)

这段代码可能会迫使我使用可变列表,但从性能的角度来看,在这种情况下使用函数结构是否有意义.哪种方法更好?

注意:上面的代码/问题只是作为一个例子,我希望它能解释我所指的那种情况

scala

3
推荐指数
2
解决办法
2645
查看次数