タグ付けされた質問 「null」

Nullは、コンテキストに応じて、* nothing *または* unknown *を意味します。SQL固有の質問には「sql-null」タグを使用してください。

11
ブール値の使用?if式で
nullableがある場合Boolean b、Javaで次の比較を行うことができます: Boolean b = ...; if (b != null && b) { /* Do something */ } else { /* Do something else */ } Kotlinでは、私は !!演算子ます。 val b: Boolean? = ... if (b != null && b!!) { /* Do something */ } else { /* Do something …
130 kotlin  null 


24
nullの悪いデザインを返していますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する メソッドから返されたnull値をチェックするのは悪い設計だと言う声を聞いたことがあります。その理由を教えてください。 疑似コード: variable x = object.method() if (x is null) do something
127 oop  null  return-value 

4
String.valueOf(null)がNullPointerExceptionをスローするのはなぜですか?
ドキュメントによると、メソッドString.valueOf(Object obj)は次を返します: 引数がの場合null、次に等しい文字列"null"。それ以外の場合は、の値obj.toString()が返されます。 しかし、私がこれをやろうとするとどうなりますか: System.out.println("String.valueOf(null) = " + String.valueOf(null)); 代わりにNPEをスローしますか?(信じられない場合は自分で試してください!) スレッド「メイン」の例外java.lang.NullPointerException java.lang.String。(不明なソース) java.lang.String.valueOf(Unknown Source)で なぜこれが起こっているのですか?ドキュメントは私に嘘をついていますか?これはJavaの大きなバグですか?




10
null値をチェックする適切な方法は何ですか?
null結合型の演算子にデフォルト値を簡単に割り当てることができるため、null結合演算子が大好きです。 int y = x ?? -1; それは素晴らしいことですが、で簡単なことをする必要がある場合は例外ですx。たとえば、を確認したい場合、Session通常はもっと冗長なものを書く必要があります。 私はこれを行うことができればいいのに: string y = Session["key"].ToString() ?? "none"; しかし.ToString()、nullチェックの前にが呼び出されるため、Session["key"]nullの場合は失敗するため、これはできません。私はこれをやる: string y = Session["key"] == null ? "none" : Session["key"].ToString(); それは機能し、私の意見では、3行の代替よりも優れています。 string y = "none"; if (Session["key"] != null) y = Session["key"].ToString(); それがうまくいくとしても、もっと良い方法があるかどうか私はまだ興味があります。私がいつも何Session["key"]回参照しなければならないかは関係ありません。1回はチェックのため、もう1回は割り当てのためです。何か案は?

10
json_encodeはNULLを返しますか?
何らかの理由で、アイテム「description」がNULL次のコードで返されます。 <?php include('db.php'); $result = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 2') or die(mysql_error()); $rows = array(); while($row = mysql_fetch_assoc($result)){ $rows[] = $row; } echo json_encode($rows); ?> これが私のデータベースのスキーマです: CREATE TABLE `staff` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` longtext COLLATE utf8_unicode_ci, `description` longtext COLLATE utf8_unicode_ci, `icon` longtext …
119 php  null  json 



3
この文字列拡張メソッドが例外をスローしないのはなぜですか?
IEnumerable<int>文字列内の部分文字列のすべてのインデックスを返すC#文字列拡張メソッドがあります。それは意図した目的に完全に機能し、期待される結果が返されます(以下のテストではなく、私のテストの1つで証明されています)が、別の単体テストで問題が発見されました:null引数を処理できません。 これが私がテストしている拡張メソッドです: public static IEnumerable<int> AllIndexesOf(this string str, string searchText) { if (searchText == null) { throw new ArgumentNullException("searchText"); } for (int index = 0; ; index += searchText.Length) { index = str.IndexOf(searchText, index); if (index == -1) break; yield return index; } } 問題を報告したテストは次のとおりです。 [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void Extensions_AllIndexesOf_HandlesNullArguments() …

7
NULLの再定義
アドレス0x0000が有効で、ポートI / Oを含むシステム用のCコードを書いています。したがって、NULLポインタにアクセスする可能性のあるバグは検出されないままであり、同時に危険な動作を引き起こします。 このため、NULLを別のアドレス、たとえば無効なアドレスに再定義したいと思います。誤ってそのようなアドレスにアクセスすると、エラーを処理できるハードウェア割り込みが発生します。このコンパイラのstddef.hにアクセスしたため、実際に標準ヘッダーを変更してNULLを再定義できます。 私の質問は、これはC標準と競合しますか?標準の7.17からわかる限り、マクロは実装定義です。NULL が0でなければならないことを述べている標準の他の場所はありますか? もう1つの問題は、多くのコンパイラーが、データ型に関係なく、すべてをゼロに設定して静的初期化を実行することです。標準では、コンパイラーは整数をゼロに、ポインターをNULLに設定する必要があるとしていますが。コンパイラーに対してNULLを再定義すると、このような静的な初期化が失敗することがわかります。手動でコンパイラヘッダーを大胆に変更した場合でも、コンパイラの動作が間違っていると見なすことはできますか?なぜなら、この特定のコンパイラーは、静的な初期化を行うときにNULLマクロにアクセスしないことは確かです。
118 c  null 

4
SQL Serverでの「Null」値のサイズ
たとえば、10列の大きなテーブルがあります。それらの4つはほとんどの場合nullのままです。null値が任意のサイズまたはバイト単位のサイズをとらないクエリがあります。私はそれらのいくつかが言っているいくつかの記事を読みました: http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html テーブルにNULL値がある場合、ストレージスペースを占有しないという誤解があります。実際、NULL値はスペースを占有します– 2バイト SQL:NULL値とデフォルト値の使用 NULLデータベースの値は、1バイトのストレージを占めるシステム値であり、スペースやゼロなどのデフォルト値ではなく、値が存在しないことを示します。 ヌル値でとったサイズについて教えてください。

19
NullチェックチェーンとNullPointerExceptionのキャッチ
Webサービスが巨大なXMLを返すので、それの深くネストされたフィールドにアクセスする必要があります。例えば: return wsObject.getFoo().getBar().getBaz().getInt() 問題はそれです getFoo()、getBar()、getBaz()すべて返すことがありnull。 しかし、私がチェックした場合 nullすべてのケースでと、コードが非常に冗長になり、読みにくくなります。また、一部のフィールドのチェックが抜ける場合があります。 if (wsObject.getFoo() == null) return -1; if (wsObject.getFoo().getBar() == null) return -1; // maybe also do something with wsObject.getFoo().getBar() if (wsObject.getFoo().getBar().getBaz() == null) return -1; return wsObject.getFoo().getBar().getBaz().getInt(); 書いてもいいですか try { return wsObject.getFoo().getBar().getBaz().getInt(); } catch (NullPointerException ignored) { return -1; } それともアンチパターンと見なされますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.