LoginSignup
0
0

More than 3 years have passed since last update.

JavaからScalaのSeqをつくる、ScalaのSeqをJavaのListにする

Posted at

環境

  • Scala 2.12
  • Java 8

JavaからScalaのSeqをつくる

Scala
Seq("a","b","c")
Java
  @SafeVarargs
  public static <T> Seq<T> Seq(T... values) {
    Seq<T> seq = JavaConverters.collectionAsScalaIterableConverter(Arrays.asList(values)).asScala().toSeq();
    return seq;
  }

サンプル

Javaで、ScalaのSeq(1,2,3)と同等操作

import java.util.Arrays;

import scala.collection.JavaConverters;
import scala.collection.Seq;

public class SeqInJava {

  public static void main(String[] args) {
    Seq<Integer> seqInJava = Seq(1, 2, 3);
  }

  @SafeVarargs
  public static <T> Seq<T> Seq(T... values) {
    Seq<T> seq = JavaConverters.collectionAsScalaIterableConverter(Arrays.asList(values)).asScala().toSeq();
    return seq;
  }
}

ScalaのSeqをJavaのListにする

JavaConverters.seqAsJavaList(Seq(1, 2, 3))

サンプル

import java.util.Arrays;
import java.util.List;

import scala.collection.JavaConverters;
import scala.collection.Seq;

public class SeqToList {

  public static void main(String[] args) {

    List<Integer> list = JavaConverters.seqAsJavaList(Seq(1, 2, 3));
    System.out.println(list);

  }

  @SafeVarargs
  public static <T> Seq<T> Seq(T... values) {
    Seq<T> seq = JavaConverters.collectionAsScalaIterableConverter(Arrays.asList(values)).asScala().toSeq();
    return seq;
  }
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0