問題タブ [java-10]
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.
java - Java 10 'var' は、完全な再構築なしでバグを生成します
以下の例を参照してください。
==== 前 ====
---- A.java ---
--- B.java
====後====
---- A.java ---
--- B.java
A.java が変更されましたが、B.java ソース ファイルに変更はありません。B.class ファイルの情報にある「userAccounts」変数の型は「OldUserAccounts」ですよね。変更したソース ファイルを実サーバーに適用した場合。「var」はバグを生成しますか?
注 : var の変更がなくても、バイトコードと互換性がない可能性があるため、それが悪い習慣であることはわかっています。私の場合、プロジェクト全体を再構築するという考えは良くありません。コストがかかりすぎる
アイデアや回避策はありますか??
java - IDEA で明示的な型を var に変換する
次のコードを含む Java 10 プロジェクトがあります。
カーソルを置いてMap...
を押すAlt+Enter
と、「明示的な型を次のものに置き換える」というオプションがあるはずvar
です。ただし、このオプションは私のメニューにはありません。
このオプションを有効にする方法は? いくつかのキャッシュなどを消去する必要がありますか?
IDEA 2018.1.1 EAP を使用しています。
java - JShell で実行中の同じステートメントの異なる動作
私は2つのクラスの参照を相互に保存する問題に取り組んでいました
例えば:
上記の初期化の代わりに、以下のステートメントを使用すると:
私は非常に明白な以下のエラーを得ました:
しかし、JShellで同じことを試してみると、問題なく動作します(初期化されていないことを念のために確認するために、以前に初期化されていないことを確認するステートメントを実行する直前variable a
にチェックしました:variable a
ここで何かが足りないかもしれませんが、JAVA で実行されている同じステートメントの 2 つの異なる動作がある理由を理解するのを手伝ってくれませんか。
この問題を理解する簡単な方法は、以下のステートメントは通常のプログラムでは許可されていますJshell
が、通常のプログラムでは許可されていないということです。
java - jdk.incubator.httpclient の NullPointerException
JDK10 の新しい光沢のある httpclient を新たに使用しようとしています。コードはとてもシンプルです。複数のスレッドから同期 HTTP 呼び出しを使用します。
ときどき NPE を取得します。
私のコードに問題はありますか? この例外の理由は何ですか?