問題タブ [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.

0 投票する
3 に答える
2312 参照

scala - Map から java.util.Map に変換する方法はありますか?

私は多くのスカラ マップを使用しますが、時々、java.util.Map を必要とする従来の Java API にそれらをマップとして渡したいことがあります (変更が破棄されるかどうかは気にしません)。

0 投票する
9 に答える
85092 参照

java - ScalaでJavaコレクションを反復処理する

ApachePOIAPIを使用するScalaコードを書いています。java.util.IteratorSheetクラスから取得したに含まれる行を繰り返し処理したいと思います。イテレータをスタイルループで使用したいfor eachので、ネイティブのScalaコレクションに変換しようとしましたが、うまくいきません。

Scalaラッパーのクラス/特性を見てきましたが、正しく使用する方法がわかりません。while(hasNext()) getNext()冗長なスタイルのループを使用せずに、ScalaでJavaコレクションを反復処理するにはどうすればよいですか?

正解に基づいて作成したコードは次のとおりです。

0 投票する
3 に答える
22061 参照

scala - Java Iterable を Scala Iterable に変換するにはどうすればよいですか?

変換する簡単な方法はありますか

?

0 投票する
1 に答える
2717 参照

java - Java から Scala コードを呼び出しますか?

私は Netbeans を使用して Scala と Java を作成しています。

Netbeans は、Scala プロジェクトの .jar ファイルを生成しました。そのファイルをJavaプロジェクトにインポートしてみました。しかし、その .jar ファイルから Java プロジェクトにクラスをインポートできませんでした。

また、scala-library.jar を Java プロジェクトにインポートしてみましたが、その jar からクラスをインポートできました。

ライブラリを Scala で作成し、Java のみを含む小さなインターフェイスを公開し、Java ラッパーを作成して、Java パッケージとして使用できるようにしたいと考えています。それは可能ですか?どうすればいいのですか?

どうもありがとうございました。

0 投票する
3 に答える
10534 参照

java - Java <-> Scala相互運用:透過的なリストとマップの変換

私はScalaを学んでおり、Scalaに移行するためのJavaプロジェクトがあります。クラスを1つずつ書き直し、新しいクラスがプロジェクトを壊さないことを確認して、移行したいと思います。

このJavaプロジェクトは多くのjava.util.Listとを使用しますjava.util.MapList新しいScalaクラスでは、Scalaを使用し、Map見栄えの良いScalaコードを使用したいと思います。

問題は、新しいクラス(Scalaで作成されたもの)が既存のJavaコードとシームレスに統合されないことです。JavaにはJavaが必要java.util.Listであり、Scalaには独自のクラスが必要scala.Listです。

これが問題の簡単な例です。MainLogicDaoのクラスがあります。彼らは一列にお互いを呼びます:メイン->ロジック->ダオ

私の状況では、クラスMainDaoはフレームワーククラスです(これらを移行する必要はありません)。クラスロジックはビジネスロジックであり、Scalaのクールな機能から多くの恩恵を受けるでしょう。

MainクラスとDaoクラスとの整合性を維持しながら、ScalaでLogicクラスを書き直す必要があります。最良の書き換えは次のようになります(機能しません):

理想的な動作:Logic2内のリストはネイティブのScalaリストです。すべてのイン/アウトjava.util.Listsは自動的にボックス化/ボックス化解除されます。しかし、これは機能しません。

代わりに、これは機能します( scala-javautilsGitHub )のおかげで):

しかし、それは醜いように見えます。

Java <-> Scala間でリストとマップの透過的なマジック変換を実現するにはどうすればよいですか(toScala / toJavaを実行する必要はありません)?

それが不可能な場合、Java->を使用するScalaコードを移行するためのベストプラクティスは何java.util.Listですか?

0 投票する
1 に答える
2102 参照

java - Scala 予約語を使用した Java ライブラリの使用

Java ( Selenium )で書かれた外部ライブラリを使用しています。関数呼び出しの 1 つに署名がtype(String, String)あり、Scala から呼び出そうとするとコンパイラ エラーが発生し続けます。つまり、次のようになります。

この問題の回避策はありますか?

0 投票する
5 に答える
13658 参照

java - Scalaの使い方。Javaコードからなし

重複の可能性:
scalaにアクセスします。Javaからなし

Javaでは、コンストラクターを使用するインスタンスを作成できます。Someつまりnew Some(value)Noneパートナークラスはありません。NoneJavaからScala関数にどのように渡しますか?

0 投票する
6 に答える
12023 参照

scala - Java プロパティから Scala マップを取得する

Java Iterators や Enumerations を使用して環境変数を scala スクリプトに取り込もうとしていたところ、フランケンシュタイン博士が親子関係を主張する可能性があることに気付いたので、代わりに醜いツリーから次のものをハッキングしました。

たとえば、同じ環境を印刷するには

どうか、この t$#d を洗練させようとしないでください。この状況に対応できると私が確信している scala gem を見せてください (つまり、java Properties --> scala.Map)。よろしくお願いします ;@)

0 投票する
5 に答える
14635 参照

scala - Scala SetをJava(java.util.Set)に変換しますか?

私はScalaにセットを持っています(セットを作成するときに任意の実装を選択できます。使用しているJavaライブラリはjava.util.Set[String]を想定しています。

Scalaでこれを行う正しい方法は次のとおりです(scala.collection.jcl.HashSet#underlyingを使用):

それは機能しているようですが、私はScalaに非常に慣れていないので、これが好ましい方法であるかどうかを知りたいです(他の方法で試してみると、型の不一致エラーが発生します):

0 投票する
9 に答える
85917 参照

java - scala.Listをjava.util.Listに変換する方法は?

Scalascala.ListをJavaに変換する方法はjava.util.List