問題タブ [null-check]

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 に答える
71 参照

java - パフォーマンスを向上させるために、Java のシングルトン デザイン パターンで Null チェックを利用する方法

マルチスレッド環境でクラスのインスタンスが 1 つだけ作成されるようにするために、以下の構造を持つシングルトン クラスを作成します。

null checkしかし、静的関数からオブジェクトを取得する前に実行中にすべてのスレッドが支払わなければならないペナルティを乗り越えることによって、クラスのパフォーマンスを向上させる方法はありますか?

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

php - nullチェックに「または」を使用することは、PHPプログラミングの良い実践ですか?

私が貢献しているプロジェクトのソース コードを参照すると、次のコード行が見つかります。

これは正常に動作しているようで、PHP 5 の null 合体演算子/ハンドラーの欠如に対する回避策のようなものです。「or」キーワードはそのようなコードを実行できます。しかし、これは PHP での良いプログラミング方法なのだろうかと思います。どう思いますか?($x or $x = $y)そのようなコード を書くのは良い考えですか?

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

c# - C#でnullの場合に値を割り当てる1つの直線的で美しくきれいな方法は?

急いで考えようとする前に?? null 合体演算子:

ここでの問題は、myParent または objProperty が null であるかどうかにかかわらず、strProperty の評価に到達する前に例外をスローする場合です。

次の余分な null チェックを回避するには:

私は一般的に次のようなものを使用します:

したがって、オブジェクトが null の場合、プロパティにアクセスできるようにするためだけに新しいオブジェクトが作成されます。

これはあまりきれいではありません。

「???」のようなものが欲しい オペレーター:

...これは、括弧内の「null」が何であれ存続し、代わりにデフォルト値を返します。

ヒントをありがとう。

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

java - Eclipse 外部アノテーションを使用して汎用コレクションでメソッドに適切にアノテーションを付ける方法

Eclipse の外部アノテーションを使用してメソッドにアノテーションを付けようとしjava.util.List.toArrayていますが、戻り値の型にアノテーションを付ける方法がわかりません。リストに次の署名がある場合:

List.toArray は以下を返す必要があります。

ただし、リストに null 許容要素を含めることができる場合:

List.toArray も、null 許容要素を含む配列を返す必要があります。

私は Eclipse Neon を使用していますが、これは可能ですか? Eclipse Neon New and Noteworthy ページはList.get() の例を提供しているようで、値の nullity を省略する必要があることを示唆していますが、それは配列では機能しないようです? 私が使用している外部注釈定義は次のとおりです。

しかし、これはうまくいきません:

collect.toArrayエラーとしてマークされています:

Null 型の安全性 (型注釈): 型 'String[]' の式は、'@NonNull String []' に準拠するために未チェックの変換が必要です

どうすればこれを修正できますか? これは Eclipse Neon でも動作しますか?

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

optimization - Java 8 オプション/機能コードの最適化

「someObj」を受け取るメソッドがあり、その目的は、タイプ Set<> の var ASet をチェックし、それを反復処理して、そのオブジェクトをデータベース オブジェクトに置き換えることです。そのために、次のコードを書きました。

それは目的を果たしますが、読みやすさには本当に満足していません。

今ではさらに読みにくくなっていますが、より良い方法をお勧めできますか? 最悪の問題は、someObj.setASet が奇妙に見えることだと思います。収集後にそのオブジェクトを置き換える機能的な方法はありますか?