小编cou*_*ech的帖子

比较字符串和枚举

我在scala中有一个枚举映射到JPA中的字符串.为了更舒适的编码,我定义了它们之间的隐式转换.所以我现在可以定义值val person.role = "User", - person.role枚举类型"User"是一个String,所以有转换.但是,当我尝试这两个比较,我总是假的,因为def equals (arg0: Any) : Boolean需要Any所以没有触发任何转换.我需要一些明确的转换,但我的计划是能够省略,你认为什么是最佳实践 这里最好的解决方案?

scala

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

如何使用新的scala 2.8.0嵌套注释

看起来当scala 2.8.0出来时,我们可以在持久层中使用嵌套的@annotations.但是怎么样?任何人都可以请将这个从java转换为scala吗?谢谢.

@NamedQueries({
    @NamedQuery(name = "findAll", query="select p from Person p"),
    @NamedQuery(name = "findTheOne",
          query="select p from Person p where p.name = 'Neo'")
})

persistence annotations scala scala-2.8 java-ee-6

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

无法覆盖具有非易失性上限的类型


我在scala中有一个编译器错误,我不知道它引用了什么:
假设这些声明:

trait Abstract {
  type MyType
}
trait AInner
trait A extends Abstract{
  type MyType <: AInner
}
trait BInner {
  def bMethod : Int
}
trait B extends Abstract with A{
  override type MyType <: BInner with A#MyType
}
Run Code Online (Sandbox Code Playgroud) 我在这里尝试实现的(在trait中B)是进一步限制MyType声明的类型Abstract,因此任何类型的值都MyType必须扩展MyTypemixin树中的所有s.

编译器给我这个消息(如标题所示): 类型MyType是一个易失性类型; 不能覆盖具有非易失性上限的类型.我理解,类型易变性在这里发生是因为类型连接with A#MyType,错误的一部分:具有非易失性上限的类型可能是指类型声明type MyType <: AInner,其中AInner不是抽象类型,因此是非易失性的.

为什么我不能这样做?有办法,如何实现我的目标?

types scala volatility type-bounds non-volatile

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

从对象创建对象输出流

我想创建ObjectOutputStream,但我不想将对象保存在文件中,那么如何做到这一点?所有教程(我发现)只说文件方式:

        FileOutputStream fos = new FileOutputStream("t.tmp");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(new Date());
        oos.close();
Run Code Online (Sandbox Code Playgroud)

我想将对象存储到数据库中,因此我需要在setBinaryStream()类中指定方法中的流PreparedStatement.

谢谢回答...

java database jdbc objectoutputstream

8
推荐指数
2
解决办法
4万
查看次数

scala要么模式匹配

这段代码有什么问题?

(Left("aoeu")) match{case Right(x) => ; case Left(x) => }
Run Code Online (Sandbox Code Playgroud)
<console>:6: error: constructor cannot be instantiated to expected type;
 found   : Right[A,B]
 required: Left[java.lang.String,Nothing]     
Run Code Online (Sandbox Code Playgroud)

为什么模式匹配器没有跳过右边并检查左?

scala pattern-matching scala-2.8

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

在sbt中定义自定义配置

我想在集成服务器和开发环境中设置另一组运行测试的选项.

我们有这个选择:

testOptions := Seq(Tests.Filter(s => Seq("Spec", "Unit").exists(s.endsWith(_))))
Run Code Online (Sandbox Code Playgroud)

testOptions如果test命令以某个范围为前缀,如何更改,所以只应用它teamcity:test

我希望,testOptions将使用类似的语法进行修改:

testOptions in Teamcity := ...
Run Code Online (Sandbox Code Playgroud)

我也想知道,如何定义自定义范围,最好是简单*.sbt构建,而不是project/*.scala构建.

scala sbt

8
推荐指数
1
解决办法
4598
查看次数

GWT粘贴事件

我想在用户粘贴一些文本时处理事件TextBox.在这种情况下会发生哪些事件?我试过ValueChangeChange处理程序,但他们没有工作.

gwt copy-paste

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

单击按钮后强制重新绘制

考虑一下scala swing代码

detail.reactions += {
  case ButtonClicked(but) =>
    detail.contents += new Label(but.text)
    detail.background = new java.awt.Color(0,255,0)
}
Run Code Online (Sandbox Code Playgroud)

detail是的FlowPanel类型.单击该按钮时,颜色会立即重新绘制,但事实Label并非如此.当我点击该区域时它会变得可见.如何detail在点击后强制重新绘制其内容?

java events swing scala

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

元程序c ++代码

在我的大学新学期开始,我再一次"被迫"退出抽象,并探索低水平编程的深水c++.我的思绪已经部分地受到折叠,高阶函数等的影响,我在写作中没有找到任何乐趣,例如:

bool allEven = true;
for(int i = 0; i < arr.length; i++){
   if (arr[i] % 2 != 0){
      allEven = false; 
      break;
   }
}
Run Code Online (Sandbox Code Playgroud) 当我知道我可以写val allEven = arr forall (_ % 2 == 0).
我的问题是:有没有任何工具|技术|语言构造|元编程的东西,可以带来一些c ++代码而不用实际编写它?我需要整个源代码,但它最终可能会被混淆,只有机器才能处理它.
请不要指责我懒惰,我认为这是我最好的美德之一.:-)
编辑这不是完全清楚你有什么要求......在最好的,我想用类似的东西GWT,而是编译JavaJavaScript来源它将编译ScalaHaskellF#C++来源,但因为我不相信像这存在,我想有一些东西......乐于助人.例如,我很欣赏建议的anon函数.

c++ functional-programming metaprogramming

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

等待处理程序注册 - selenium

有一个带有按钮的 html 页面,我的 selenium 测试正在测试,当单击按钮时执行了一个操作。

问题是,看起来点击发生在执行 javascript 之前 - 在处理程序绑定到页面之前。结果是,selenium 测试将单击按钮,但不会发生任何操作。

我可以通过反复尝试单击然后观察是否发生了所需的操作来解决此问题(通常页面上存在某些元素)。我想听听有一些更优雅的解决方案......

selenium

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