草庐IT

scala-lang

全部标签

java - 我可以从 Java 访问 Scala 对象的不带括号的 val 吗?

给定以下Scala对象:objectScalaObject{valNAME="Name"}似乎Scala编译器生成了一个无参数方法来访问NAME字段。但是,当我尝试从Java访问此字段时,访问此字段的唯一方法似乎是作为无参数方法,例如:System.out.println(ScalaObject$.MODULE$.NAME());有没有办法让Scala编译器允许Java按照预期的Java习惯用法访问val:System.out.println(ScalaObject$.MODULE$.NAME); 最佳答案 严格来说,答案是否定的,

Java 与 Scala 泛型和装箱的互操作性问题

假设我有这个Scala特性:traitUnitThingy{defx():Unit}提供Java实现非常简单:importscala.runtime.BoxedUnit;publicclassJUnitThingyimplementsUnitThingy{publicvoidx(){return;}}现在让我们从一个通用特征开始:traitFoo[A]{defx():A}traitBarextendsFoo[Unit]上面的方法行不通,因为x返回的单元现在是装箱的,但解决方法很简单:importscala.runtime.BoxedUnit;publicclassJBarimpleme

java.lang.ClassCastException : [B > cannot be cast to java. lang.String

publicLoginauthenticate(Loginlogin){try{MessageDigestmd=MessageDigest.getInstance("SHA-256");Stringpassword=login.getPassword();try{md.update(password.getBytes("UTF-16"));byte[]digest=md.digest();Stringquery="SELECTLFROMLoginASLWHEREL.email=?ANDL.password=?";Object[]parameters={login.getEmail(),

java - 如何有意义地为 java.lang.Class<T> 定义 hashCode 和 equals?

如果需要使用Class作为Map的key的一部分定义hashCode的正确方法是什么?和equals?Class从Object继承了那些它检查引用相等性并将内存地址作为哈希码返回,但在我看来,尚不清楚equals的有意义定义是什么和hashCodeClass的定义.我应该使用theClass.getClass().hashCode();吗?例如(我们有ClasstheClass;)使用实际实例的方法?但这似乎不是正确的做法。例如在javadoc对于Class:EveryarrayalsobelongstoaclassthatisreflectedasaClassobjectthatis

java - Primefaces 异常 INFO : java. lang.ArithmeticException :/by zero java. lang.ArithmeticException:/by zero

我已经为数据表实现了LazyLoading。当我使用分页浏览数据表时,出现以下异常。com.sun.faces.context.PartialViewContextImplprocessPartialINFO:java.lang.ArithmeticException:/byzerojava.lang.ArithmeticException:/byzeroatorg.primefaces.model.LazyDataModel.setRowIndex(LazyDataModel.java:62)atorg.primefaces.component.api.UIData.setRowMo

java - 在 Scala 中,如何覆盖采用 java.util.Map 的方法

我正在尝试子类化的Java类有如下方法:publicabstractvoidfoo(Mapvar1);我不知道如何覆盖该方法。我从中继承的Java类不使用泛型。在Scala中我试过:overridedeffoo(var1:java.util.Map[Int,Int]){}但是编译器给我的错误信息是它没有覆盖任何东西..问题的核心是Scala需要Map上的类型参数,但是Java类不使用它们。 最佳答案 这将使它工作overridedeffoo(var1:java.util.Map[_,_]){}

java.lang.NoClassDefFoundError : sun/misc/BASE64Encoder 错误

我想用java代码连接一些域。我可以按如下方式在浏览器中连接域:http://username:password@domain.com我尝试了以下方法:Stringenc="username"+":"+"password";Stringencoded=newsun.misc.BASE64Encoder().encode(loginPassword.getBytes());URLurl=newURL("domain.com");URLConnectionconn=url.openConnection();conn.setRequestProperty("Authorization","B

java - 用于编写 Tensorflow TFRecords 数据文件的纯 Java/Scala 代码

我正在尝试编写TensorflowRecordWriter类的纯Java/Scala实现,以便将SparkDataFrame转换为TFRecords文件。根据文档,在TFRecords中,每条记录的格式如下:uint64lengthuint32masked_crc32_of_lengthbytedata[length]uint32masked_crc32_of_data和CRC掩码masked_crc=((crc>>15)|(crc目前,我使用以下代码使用guava实现计算CRC:importcom.google.common.hash.HashingobjectCRC32{valkM

java - JDK-9 不允许我使用字符串 : "java.lang.String is ambiguous"?

一周前,我的每个项目都正常工作,但是当我将Eclipse更新到Oxygen版本并安装JDK-9时,事情就变得奇怪了。当我尝试使用字符串时,一段时间后(更像是每次我保存项目时),编译器会针对我项目中的每个字符串向我抛出一个错误。字符串类型被识别为有歧义的类"Thetypejava.lang.Stringisambiguous"所以我尝试导入java.lang.String看看它是否修复了错误:导入后"Thepackagejava.langisaccessiblefrommorethanonemodule:java.base,java.base"惊喜!?它不会:(我尝试在Google和SO

Java 9 HttpClient java.lang.NoClassDefFoundError : jdk/incubator/http/HttpClient

我正在尝试在Java9maven项目中使用孵化器中的HttpClient。我没有遇到任何编译问题。项目构建成功。但是当我尝试运行Main类时,它给了我以下异常:Exceptioninthread"main"java.lang.NoClassDefFoundError:jdk/incubator/http/HttpClientatjava9.http_client.Main.main(Main.java:18)Causedby:java.lang.ClassNotFoundException:jdk.incubator.http.HttpClientatjava.base/jdk.int