小编nyl*_*Dev的帖子

如何从 Scala 访问 Java 类中的公共静态最终成员?

我一直在尝试运行以下 Scala 代码:

import javax.swing.JFrame

class ScalaClass(title: String) extends JFrame(title: String) {
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
  // ...
}

object Main {
  def main(args: Array[String]) : Unit = {
    var sFrame : JFrame = new ScalaClass("Hi");
  }
}
Run Code Online (Sandbox Code Playgroud)

JFrame.EXIT_ON_CLOSE应等于3. 但是,当我尝试在 IntelliJ IDEA 中构建和运行时,我收到此错误:

Error:(4, 35) value EXIT_ON_CLOSE is not a member of object javax.swing.JFrame setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

添加import javax.swing.JFrame.EXIT_ON_CLOSE也不起作用。

有谁知道我做错了什么?

java scala

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

Collections.unmodifyingMap(和其他)是否违反了 SOLID 原则?

我最近在看书,第一次Java Concurrency in Practice接触到这个方法。Collections.unmodifiableMap(...)该方法围绕现有的创建一个只读包装器Map,任何修改返回值的尝试Map(根据Javadocs)都会导致UnsupportedOperationException抛出异常。其他集合类也存在类似的方法。

这让我非常担心,因为 anunmodifiableMap()仍然返回 a Map,但不支持所有相关方法。事实上,它还会在写入操作上引发异常,这意味着它无法Map在大多数应用程序中替代“正确的”异常。

我是一名学生,对自己识别设计缺陷的能力还没有信心,但是这些不是分别违反了Interface segregationLiskov substitution原则吗?

java oop solid-principles

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

标签 统计

java ×2

oop ×1

scala ×1

solid-principles ×1