問題タブ [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 - Java5 + ダイヤモンド演算子以降のジェネリック コレクションを初期化する方法
私の知る限り、ジェネリックはコンパイル時にのみ役立ちます。
したがって、次のように宣言できます。
そして、この文字列ハッシュセットで、犬などをそのセットに追加します。実行時に配列のようなチェックがないため (ArrayStoreException...) (ただし、それを使用するとクラスキャストのような問題が発生する可能性があります)設定...
だから私が言いたいのは、私たちは通常、ジェネリックコレクションをそのようにインスタンス化するということです:
私の質問は、変数の参照の型だけが本当に重要なので、なぜ HashSet の型を置くのかということです (私は思います)。
つまり、単純に次のように書くことができます。
そして、それはまったく同じように機能しますか?では、インスタンス化の際に型を記述するのはなぜでしょうか? (必須ではありません)
編集
型推論のための「ダイヤモンド演算子」については知っていますが、なぜそれが必要なのですか!!! 型推論はすでに機能しているためです。
次のコード:
出力を生成します。
文字列を追加するテスト 1 文字列を追加するテスト 2
自分でテストしてください http://ideone.com/vuiCE
では、Java7 の機能としての型推論について話されていますが、それはすでに私にとっては機能しています...
Java7では、私を交換する必要があります
に
まったく同じことをするのに、まだ 2 文字追加ですよね?(ジェネリックがJava7でコンパイル時だけでない限り?わかりません)
java - Javaでの演算子の優先順位
http://leepoint.net/notes-java/data/expressions/precedence.htmlからの一例
次の式
として評価されます
次に、 http://www.roseindia.net/java/master-java/operator-precedence.shtmlから別の例を見ました
次の式
として評価されます
*と/が関係する場合、どちらが最初に評価されるかがどのように決定されるかについて、私は少し混乱しています。上記の例では、どちらも違いがあるようです。
最初の例は次のように評価3*5/5
して((3*4)/5)
いますが、2番目の例は評価しています5*6/3 as (5*(6/3))
*と/が+と-よりも優先されることは知っていますが、式に*と/の両方が含まれている場合はどうでしょうか。また、上記の2つの例が異なるアプローチを示しているのはなぜですか?それらの1つは間違っていますか?
編集
上記のプログラムは出力を生成します
最初の出力が同じ出力を生成した場合、最後の2つの出力が同じでないのはなぜですか。
java - コンストラクターを呼び出した後に main からプライベート パッケージ メソッドを呼び出す
私は SCJP を勉強しています。勉強中に、最初は非常に簡単に思える問題を見つけましたが、解決できず、答えがわかりません。演習 ( OCP Java SE 6 Programmer Practice Exams、Bert Bates および Kathy Sierra から取得) には、次のように記載されています。
与えられた:
答えは次のとおりです。
doStuff メソッドはクラス MyPancake 内にあるため、main メソッドはそれにアクセスする必要があるため、私の推測では C でした。
質問を再考すると、静的コンテキストから new を呼び出すときに、doStuff が非公開の場合、非公開メソッドにアクセスできない可能性があります。これは本当ですか?これはよくわかりません。
とにかく、パッケージプライベートの doStuff メソッドにアクセスできると思います。私は間違っていると思いますが、理由はわかりません。
私たちを手伝ってくれますか?
ありがとうございました!
java - オラクルが引き継いでからの太陽の SCJP/SCJA/SCEA トラックへの変更点は何ですか?
コンテキスト:
単純な scjp ->scja->.... Sun 認定のトラックは、他のオラクル スタイルの認定と統合されているようです...開発者として、私は最近、新しい「パスウェイ」を理解しようと時間を費やしてきました。証明のために。
既存のリソース:
非常に密度の高い、しかし有益なページがここにあります: http://en.wikipedia.org/wiki/Sun_Certified_Professional Oracle の Web サイトには、もちろん、さまざまな認証ファクトイドのリンクと図がたくさんあります。
私の問題:
Java認定の新しいパラダイムまたは経路が出現していることは明らかではありません。したがって、古いSCJPスタイルの認定がまだ存在するかどうか(タイトルは異なりますが)、認定パイプライン全体がどのように見えるかは明らかではありません。 : たとえば、この図 (古い Sun 認定から) http://www.whizlabs.com/images/jwhiz.pngでは、明快で簡単に解釈できる図で、無数の認定とトレーニング イニシアチブが明確に関連付けられています。しかし、最新の Oracle Java 認定を説明および比較するためのそのようなリソースは見当たりません。
質問):
新しい Oracle 認定資格間の関係はどのようなものですか? また、元の SCJP、SCJD、および SCEA 試験とどのように関連していますか?
java - インスタンス変数の初期化について混乱しています
私はSCJP試験のために勉強しています、いくつかの模擬試験を行ったときに私はこれに出くわしました:
次の出力は何かを尋ねます:
21 20
tiがgetIntを呼び出し、次にkをインクリメントして21にするので、そうなると思いました。
ただし、答えは1 20
です。なぜ1になるのかわかりませんが、誰かがこれに光を当てることができますか?
java - メソッドによって作成された文字列オブジェクト
Oracle CertifiedJavaProgrammer認定の模擬テストをいくつか行っています。私がテストで見つけた質問の1つはこれです:
そして、問題は「このメソッドが呼び出されたときにいくつのStringオブジェクトが作成されるか」です。「Fred」、「47」、「Fred47」、サブストリング「ed4」、大文字のストリング「ED4」の5つを数えていますが、質問の答えは3つのオブジェクトです(テストが行われているドキュメントにはありません)説明セクション)。私のエラーはどこにあるのか指摘できますか?
java - 正規表現の欲張り演算子と終了文字に関する混乱
私はSCJP試験の勉強をしていますが、次の模擬問題が私を危険にさらしました。ツールの説明はあまり良くなかったので、SOの知識のある人に説明してもらえるといいなと思います。
の正規表現をC.*L
使用して、キャプチャする単語を特定しますCooLooLCuuLooC
を選択しCooL and CuuL
ました。この選択の理由は、Cの開始一致を探し、それが見つかるまで任意の文字を0回以上取得してからL
、終了すると信じていたためです。
ただし、答えは実際にはCooLooLCuuL
です。L
最初の2つがどのように通過するかについて私は混乱していますか?
誰かが私のためにこれを片付けてくれませんか?
ありがとう
java - 例外とエラーの報告順序
次のコードに適用される規則:
Assetion が有効になっています。
AssertionError の代わりに IllegalArgumentException が報告されるのはなぜですか? この状況に適用されるルールはありますか?
編集: ごめんなさい!この例では、アサート ( false )が必要です。
java - このコードがスレッドセーフでないのはなぜですか?
以下のコード スニペットでは、doThings() メソッドを static として宣言すると、クラスがスレッド セーフになります。この理由は、複数の TestSeven スレッドが開始され、x が静的変数であるため、競合状態が発生する可能性があるためですか?