問題タブ [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 投票する
4 に答える
1885 参照

java - scala クラスのプロパティの可視性

クラスのコンストラクターで次の方法でプロパティを定義しました。

Java コードからメッセージ値にアクセスしようとすると、可視性エラーが発生します。なんで?

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

java - Scala クロージャーと Java 8 クロージャーの互換性

いくつかの OpenJDK メーリングリスト エントリを読んだ後、Oracle の開発者は現在、クロージャの提案からさらに削除しているようです。これは、Java 言語の初期の設計ミスにより、Java クロージャの導入が複雑になっているためです。

Scala クロージャーが Java 8 で計画されているクロージャーよりもはるかに強力であることを考えると、たとえば、Scala からクロージャーを取得する Java メソッドを呼び出したり、Java でクロージャーを定義してそれを Scala 関数に渡したりすることが可能になるのでしょうか?

では、Java クロージャはバイトコードで Scala の対応するものと同じように表現されるのでしょうか、それとも別の方法で表現されるのでしょうか? Java/Scala クロージャー間の機能のギャップを埋めることは可能でしょうか?

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

java - JavaからScalaシングルトンメソッドをどのように呼び出しますか?

既存のJavaアプリにScalaコードを挿入しようとしています。(だから、言われているように、私はもう少し楽しみたいです)。

Scalaでシングルトンのものを作成します

さて、OldJava.java内

?JavaがshowMyPowerメソッドを呼び出すようにするには、何を入力する必要がありますか?org.fun.ScalaPower.showMyPower(10)私は両方を試しまし org.fun.ScalaPower.getInstance().showMyPower(10)たが、うまくいきませんでした。

(Jadを使用してクラスファイルを逆コンパイルすると、意味のないコードしか表示されません。)

編集 私は宣言を削除しclass ScalaPower、scalaは期待どおりに静的メソッドを生成します。(ただ動作するように呼び出しますorg.fun.ScalaPower.showMyPower(10))。

それがscalaコンパイラのバグかどうか疑問に思う

0 投票する
2 に答える
4086 参照

java - JavaでScala定数を使用する

私は現在、将来のプロジェクトのためにScalaを評価していますが、何か奇妙なことに遭遇しました。JSPで次の定数を作成しました。

そして、それは機能しませんでした。いくつかの実験の後、私はそれの底に到達するために逆コンパイルすることにしました:

今それは面白いです!個人的には、インスペクターが異なる名前空間に存在するため、なぜインスペクターがプレフィックスgetを必要とし、ミューテーターがJavaでプレフィックスセットを必要とするのか疑問に思っていました。

ただし、それをチームの他のメンバーに説明するのはまだ厄介かもしれません。それで、検査官なしで公の定数を持つことは可能ですか?

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

java - JavaからScalaへの移行

既存のJavaコードベースをScalaに段階的に移行する場合、知っておくべき最も重要なポイントと回避策は何ですか?両方の言語が使用されている(潜在的に非常に長い)中間フェーズ。

私が考えていることの種類は次のとおりです。

  • さまざまなコレクション階層
  • Scalaがうまく処理できないJavaコンストラクト
  • Javaでの使用が実用的でないScalaコンストラクト
  • ビルドツール
  • コンパイル順序
  • フレームワークでの不変性のサポート
0 投票する
5 に答える
8627 参照

scala - Scala の追加の引数なしコンストラクターとデフォルトのコンストラクター パラメーター

コンストラクターで Scala 2.8 のデフォルト パラメーターを使用していますが、Java 互換性の理由から、デフォルト パラメーターを使用する引数なしのコンストラクターが必要でした。

これは非常に賢明な理由で機能しません。

足りないものがあるかどうか疑問に思っています。パラメータのデフォルトを複製する必要がないという考えはありますか?

ありがとう!

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

scala - Scala から保護された静的 Java メソッドを呼び出す

ここには、いくつかの Java クラスを含むライブラリがあります。1 つのクラスにはいくつかのprotected staticメソッドがありますが、これは OOP のようなものではありませんが、そのコードを変更することはできません。前述の Java クラスをサブクラス化する Scala クラスがあると仮定すると、その保護された静的メンバーを呼び出すにはどうすればよいでしょうか?

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

java - Scala オートボクシングと Java Map

type の引数を取る Java メソッドがありますMap<Long, Foo>。Scala 2.8.1 でそのメソッドの単体テストを作成し、リテラルを渡そうとしていMap[Long, Foo]ます。

私のコードは次のようになります。

コンパイラは私に次のエラーを与えています:

私もそれを試しました

エラーが発生しました:

どうすればいいですか?

0 投票する
2 に答える
568 参照

java - .java クラスと .scala クラスの間に循環依存関係を持つことは可能ですか?

クラス A が .java ファイルで定義され、クラス B が .scala ファイルで定義されているとします。
クラスAはクラスBを使用し、クラスBはクラスA
を使用します。Javaコンパイラを使用すると、クラスBがまだコンパイルされていないため、コンパイルエラーが発生します。scala コンパイラを使用すると、クラス A が見つかりません。両方を一緒にコンパイルできるコンパイラはありますか?

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

api - OptionのorNullメソッドの使用について説明してください

ScalaのOptionクラスにはorNullメソッドがあり、そのシグネチャを以下に示します。

私は暗黙のことで当惑しています。誰かがそれがどのように使われることができるか、理想的には例を挙げて説明してもらえますか?