使用容器时将scala字节转换为java字节
我需要调用处理字节序列的JavaAPI使用容器时将scala字节转换为java字节,java,scala,interop,Java,Scala,Interop,我需要调用处理字节序列的JavaAPI public class JBytes { public static void single(Byte b) { } public static void array(byte[] arr) { } public static void iterable(Iterable<Byte> it) { } } 我可以不使用[java.lang.Byte]的instanceOf吗?使用java.l
public class JBytes {
public static void single(Byte b) {
}
public static void array(byte[] arr) {
}
public static void iterable(Iterable<Byte> it) {
}
}
我可以不使用[java.lang.Byte]的instanceOf吗?使用
java.lang.Byte
类的valueOf
方法
另一种方法是简单地声明类型注释
scala> val a: Byte = 1
a: Byte = 1
scala> val b: java.lang.Byte = a
b: Byte = 1
scala> b.getClass
res6: Class[_ <: Byte] = class java.lang.Byte
使用
java.lang.Byte的valueOf
方法
另一种方法是简单地声明类型注释
scala> val a: Byte = 1
a: Byte = 1
scala> val b: java.lang.Byte = a
b: Byte = 1
scala> b.getClass
res6: Class[_ <: Byte] = class java.lang.Byte
scala> :paste
// Entering paste mode (ctrl-D to finish)
implicit class ByteOps(v: Byte) {
def toJavaByte: java.lang.Byte = java.lang.Byte.valueOf(v.toString)
}
// Exiting paste mode, now interpreting.
defined class ByteOps
scala> val a: Byte = 1
a: Byte = 1
scala> a.toJavaByte
res4: Byte = 1