Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用容器时将scala字节转换为java字节_Java_Scala_Interop - Fatal编程技术网

使用容器时将scala字节转换为java字节

使用容器时将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

我需要调用处理字节序列的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.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