小编Jes*_*per的帖子

如何建模类型安全的枚举类型?

Scala没有enum像Java那样的类型安全.给定一组相关常量,Scala表示这些常量的最佳方法是什么?

enums scala

311
推荐指数
6
解决办法
10万
查看次数

Scala慵懒的val的(隐藏)成本是多少?

Scala的一个便利功能是lazy val,a的评估val被延迟到必要时(首次访问时).

当然,lazy val必须有一些开销 - 在某处Scala必须跟踪该值是否已经被评估并且评估必须同步,因为多个线程可能会尝试同时第一次访问该值.

a的成本到底是什么?lazy val是否有一个隐藏的布尔标志与a关联,lazy val如果它已经被评估,是什么同步,是否有更多的成本?

另外,假设我这样做:

class Something {
    lazy val (x, y) = { ... }
}
Run Code Online (Sandbox Code Playgroud)

这是否与两个单独的lazy vals 相同x,y或者我只获得一次开销,对于该对(x, y)

performance scala lazy-evaluation

160
推荐指数
5
解决办法
2万
查看次数

什么是Scala中的清单,什么时候需要它?

从Scala 2.7.2开始,有一些叫做ManifestJava类型擦除的解决方法.但是,如何Manifest确切地工作以及为什么/何时需要使用它?

Jorge Ortiz 的博客文章Manifests:Reified Types解释了其中的一些内容,但它没有解释如何将它与上下文界限一起使用.

那么ClassManifest,有什么区别Manifest

我有一些代码(一个更大的程序的一部分,不能轻易地包含在这里),它有关于类型擦除的一些警告; 我怀疑我可以通过使用清单解决这些问题,但我不确定如何解决.

scala manifest

130
推荐指数
3
解决办法
3万
查看次数

什么是Scala中的"上下文绑定"?

Scala 2.8的一个新功能是上下文边界.什么是上下文绑定以及它在哪里有用?

当然我先搜索(例如找到这个),但我找不到任何非常清晰和详细的信息.

scala scala-2.8 context-bound

108
推荐指数
4
解决办法
3万
查看次数

无法实例化List <Product>类型

我有以下代码:

List<Product> product = new List<Product>();
Run Code Online (Sandbox Code Playgroud)

错误:

Cannot instantiate the type List<Product>
Run Code Online (Sandbox Code Playgroud)

Product是我的EJB项目中的实体.为什么我收到此错误?

java ejb initialization list

101
推荐指数
4
解决办法
14万
查看次数

用Java读取属性文件

我有以下代码尝试读取属性文件:

Properties prop = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();           
InputStream stream = loader.getResourceAsStream("myProp.properties");
prop.load(stream);
Run Code Online (Sandbox Code Playgroud)

我在最后一行得到一个例外.特别:

Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at Assignment1.BaseStation.readPropertyFile(BaseStation.java:46)
at Assignment1.BaseStation.main(BaseStation.java:87)
Run Code Online (Sandbox Code Playgroud)

谢谢,尼科斯

java properties

101
推荐指数
8
解决办法
34万
查看次数

在Scala中使用符号的实际示例?

Scala有符号 - 以单引号开头的名称',它们是一种字符串常量.

我知道来自Ruby的符号(它们以冒号开头).在Ruby中,它们用于一些元编程任务,例如为成员变量生成getter和setter(例如attr_reader :name为其生成getter name).

我还没有在Scala代码中看到很多符号的使用.Scala中符号的实际用途是什么?

symbols scala

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

如何从java中的字符串中删除非数字字符?

我有一根长串.将数字拆分成数组的正则表达式是什么?

java regex

57
推荐指数
5
解决办法
10万
查看次数

什么是集合的视图以及您何时想要使用它们?

在Scala中,对于许多(所有?)类型的集合,您可以创建视图.

究竟是什么视图以及视图有用的目的是什么?

scala views scala-collections

53
推荐指数
3
解决办法
6694
查看次数

为什么在Scala的标准库中@specialized的东西很少?

我搜索了@specializedScala 2.8.1标准库的源代码中的用法.它看起来像只性状一把类使用此批注:Function0,Function1,Function2,Tuple1,Tuple2,Product1,Product2,AbstractFunction0,AbstractFunction1,AbstractFunction2.

没有集合类@specialized.为什么不?这会产生太多的课程吗?

这意味着使用具有基本类型的集合类是非常低效的,因为将会有大量不必要的装箱和拆箱.

拥有s 的不可变列表或序列(具有IndexedSeq特征)的最有效方法是什么Int,避免装箱和拆箱?

collections performance autoboxing scala specialized-annotation

38
推荐指数
3
解决办法
5727
查看次数