問題タブ [scala-java-interop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Map から java.util.Map に変換する方法はありますか?
私は多くのスカラ マップを使用しますが、時々、java.util.Map を必要とする従来の Java API にそれらをマップとして渡したいことがあります (変更が破棄されるかどうかは気にしません)。
java - ScalaでJavaコレクションを反復処理する
ApachePOIAPIを使用するScalaコードを書いています。java.util.Iterator
Sheetクラスから取得したに含まれる行を繰り返し処理したいと思います。イテレータをスタイルループで使用したいfor each
ので、ネイティブのScalaコレクションに変換しようとしましたが、うまくいきません。
Scalaラッパーのクラス/特性を見てきましたが、正しく使用する方法がわかりません。while(hasNext()) getNext()
冗長なスタイルのループを使用せずに、ScalaでJavaコレクションを反復処理するにはどうすればよいですか?
正解に基づいて作成したコードは次のとおりです。
scala - Java Iterable を Scala Iterable に変換するにはどうすればよいですか?
変換する簡単な方法はありますか
に
?
java - Java から Scala コードを呼び出しますか?
私は Netbeans を使用して Scala と Java を作成しています。
Netbeans は、Scala プロジェクトの .jar ファイルを生成しました。そのファイルをJavaプロジェクトにインポートしてみました。しかし、その .jar ファイルから Java プロジェクトにクラスをインポートできませんでした。
また、scala-library.jar を Java プロジェクトにインポートしてみましたが、その jar からクラスをインポートできました。
ライブラリを Scala で作成し、Java のみを含む小さなインターフェイスを公開し、Java ラッパーを作成して、Java パッケージとして使用できるようにしたいと考えています。それは可能ですか?どうすればいいのですか?
どうもありがとうございました。
java - Java <-> Scala相互運用:透過的なリストとマップの変換
私はScalaを学んでおり、Scalaに移行するためのJavaプロジェクトがあります。クラスを1つずつ書き直し、新しいクラスがプロジェクトを壊さないことを確認して、移行したいと思います。
このJavaプロジェクトは多くのjava.util.List
とを使用しますjava.util.Map
。List
新しいScalaクラスでは、Scalaを使用し、Map
見栄えの良いScalaコードを使用したいと思います。
問題は、新しいクラス(Scalaで作成されたもの)が既存のJavaコードとシームレスに統合されないことです。JavaにはJavaが必要java.util.List
であり、Scalaには独自のクラスが必要scala.List
です。
これが問題の簡単な例です。Main、Logic、Daoのクラスがあります。彼らは一列にお互いを呼びます:メイン->ロジック->ダオ。
私の状況では、クラスMainとDaoはフレームワーククラスです(これらを移行する必要はありません)。クラスロジックはビジネスロジックであり、Scalaのクールな機能から多くの恩恵を受けるでしょう。
MainクラスとDaoクラスとの整合性を維持しながら、ScalaでLogicクラスを書き直す必要があります。最良の書き換えは次のようになります(機能しません):
理想的な動作:Logic2内のリストはネイティブのScalaリストです。すべてのイン/アウトjava.util.Lists
は自動的にボックス化/ボックス化解除されます。しかし、これは機能しません。
代わりに、これは機能します( scala-javautils(GitHub )のおかげで):
しかし、それは醜いように見えます。
Java <-> Scala間でリストとマップの透過的なマジック変換を実現するにはどうすればよいですか(toScala / toJavaを実行する必要はありません)?
それが不可能な場合、Java->を使用するScalaコードを移行するためのベストプラクティスは何java.util.List
ですか?
java - Scala 予約語を使用した Java ライブラリの使用
Java ( Selenium )で書かれた外部ライブラリを使用しています。関数呼び出しの 1 つに署名がtype(String, String)
あり、Scala から呼び出そうとするとコンパイラ エラーが発生し続けます。つまり、次のようになります。
この問題の回避策はありますか?
java - Scalaの使い方。Javaコードからなし
重複の可能性:
scalaにアクセスします。Javaからなし
Javaでは、コンストラクターを使用するインスタンスを作成できます。Some
つまりnew Some(value)
、None
パートナークラスはありません。None
JavaからScala関数にどのように渡しますか?
scala - Java プロパティから Scala マップを取得する
Java Iterators や Enumerations を使用して環境変数を scala スクリプトに取り込もうとしていたところ、フランケンシュタイン博士が親子関係を主張する可能性があることに気付いたので、代わりに醜いツリーから次のものをハッキングしました。
たとえば、同じ環境を印刷するには
どうか、この t$#d を洗練させようとしないでください。この状況に対応できると私が確信している scala gem を見せてください (つまり、java Properties --> scala.Map)。よろしくお願いします ;@)
scala - Scala SetをJava(java.util.Set)に変換しますか?
私はScalaにセットを持っています(セットを作成するときに任意の実装を選択できます。使用しているJavaライブラリはjava.util.Set[String]を想定しています。
Scalaでこれを行う正しい方法は次のとおりです(scala.collection.jcl.HashSet#underlyingを使用):
それは機能しているようですが、私はScalaに非常に慣れていないので、これが好ましい方法であるかどうかを知りたいです(他の方法で試してみると、型の不一致エラーが発生します):
java - scala.Listをjava.util.Listに変換する方法は?
Scalascala.List
をJavaに変換する方法はjava.util.List
?