問題タブ [scjp]
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 - ポストおよびプリインクリメント演算子
次の例を実行すると、出力 0,2,1 が得られます
出力が 0,2,1 ではなく 0,2,2 である理由がわかりません
java - Formatting using printf and format
In the following program
The output is
Can someone please explain how a double value (i.e. 123.456
) is converted to a boolean (ie. true
)
The reason I ask is because I know java does not allow numbers to be used for boolean values. For example, the following is not allowed in Java
Thanks
java - パターン マッチャーの正規表現クラスの使用
次の例では:
m.find() メソッドは常に false であるため、文字列「water」は見つかりません。これの理由は何ですか?
java - スレッドの並行性 - 同期とロック。
上記のプログラムを実行すると、次の例外が発生します。
いくつかの質問:
IllegalMonitorStateException の理由 Test.sa は新しい String オブジェクトに割り当てられているため、sa.notify() が ZiggyTest2 で使用されているものとは異なるロックで呼び出されるため、ZiggyTest2 スレッドが無期限に待機することを期待していました。
上記の例では、wait() と notify() が「sa」オブジェクトで呼び出されます。単独で notify() を呼び出すことと、オブジェクト、つまり sa.wait() と sa.notify() を使用して notify()/wait() を呼び出すことの違いは何ですか?
Test クラスでは同期ブロックに sa オブジェクトのロックがあり、sa オブジェクトは静的ですが、ZiggyTest2 クラスでは、同期ブロックは同じ sa オブジェクト参照を使用していますが、静的でない参照を使用していますか? 1 つが静的で、もう 1 つが静的ではない場合、両方とも同じロックを引き続き使用しますか?
java - ガベージ コレクターがオブジェクトをビンに入れるのを監視する
ガベージ コレクターがオブジェクトを「ガベージ コレクション」するタイミングを確認しようとしています。ドキュメントによると、finalize() メソッドは、ガベージ コレクターがオブジェクトを「削除」するときに 1 回呼び出されます。
finalise() をオーバーライドして、オブジェクトを無効にした後にどの時点で呼び出されるかを確認できるかどうかを確認しようとしましたが、無期限に待機しているようです。これは機能するはずですか?
そしてメインクラス:
私がやりたいのは、 Dog オブジェクトを無効にした後に finalise() メソッドが呼び出されるのを見ることです。これが、notify() ステートメントを finalize() メソッド内に配置する理由です。ただ待ち続けるという点で機能していません..
編集
みんなありがとう。ZiggyTest2 を変更して System.gc(); を追加した後、動作するようになりました。
出力:
java - アップキャスト/ダウンキャストの問題を解決する
キャスト/アップキャストの問題を解決するための実行可能な戦略はありますか? アップキャストとダウンキャストが許可されている場合は理解していますが、質問に複数のオブジェクトが含まれる傾向がある場合、すぐに混乱する傾向があります。たとえば、次のような質問に対する答えを見つけるための最善のアプローチは何ですか。
質問: 次のプログラムをコンパイルした結果はどうなりますか?
私は答えにはあまり興味がありませんが、質問を解決するためのアプローチにもっと興味があります。上記のようなアップキャスト/ダウンキャストの質問を解決するために使用できるアプローチ/戦略はありますか? たとえば、参照/オブジェクトを紙に描いて、視覚的な表現を得ることができますか?
ありがとう
java - 継承による隠しフィールド
次のコード例では:
そして出力:
p.aMethod()
px が 6 を出力するときに 6 を出力しないのはなぜですか?
ありがとう
編集
おっとちょっとしたタイプミス: 質問は「なぜ px が 5 を印刷するときに p.aMethod() が 5 を印刷しないのか」であるべきです - @thinksteep に感謝します
java - SCJP/OCPJP 7つの目的
SCJP/OCPJP 7で追加された新しい目標は何ですか?
より具体的に言えば、SCJP/OCPJP 6 と 7 の間の変更点は何ですか?
PS:まだ SCJP と呼ばれているかどうかはわかりません。
編集 : OCPJP 7 に追加された新しい変更/目的の投稿を追加しました。
java - ジェネリッククラスの型のインスタンス化
私はSCJP/OCPJPの勉強をしていますが、奇妙な継ぎ目があるサンプルの質問に出くわしました。
サンプルコードは、2つのジェネリックコレクションをインスタンス化しました。
質問に対する「正しい」答えは、このコードはコンパイルされますが、いずれかのコレクションに追加するとランタイムエラーが発生するというものでした。
このようなコードをコンパイルしようとすると、エラーが発生します。Javaチュートリアルでは、このタイプのコードすら示されていません。代わりに、通常、アップキャストの一部としてワイルドカードを使用します。
上記の2つの一般的なコレクションは、正当なコードでさえありますか?私のロジックによる2番目は、インターフェイスのみを許可しません。最初のものは完全に役に立たないように見えます。制御を試みないジェネリックを使用するのはなぜですか?
java - ジェネリック型を宣言するときのコンパイラの警告
変数を次のように宣言するときにコンパイラが警告を発行するのはなぜですか
警告:
しかし、変数を次のように宣言しても警告は発行されません。