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

8
typeofが「オブジェクト」である理由
「Web開発者向けのプロフェッショナルJavascript」の第4章を読んでいますが、プリミティブには、未定義、null、ブール、数値、文字列の5種類があることがわかります。 nullがプリミティブである場合、なぜtypeof(null)returnするの"object"ですか? それはそれnullが参照によって渡されることを意味しませんか?


11
文字列からのジェネリック型変換
別のクラスの「プロパティ」を保存するために使用したいクラスがあります。これらのプロパティは名前と値を持つだけです。理想的には、型付きのプロパティを追加できるようにして、返される「値」が常に希望する型になるようにします。 タイプは常にプリミティブである必要があります。このクラスは、基本的に名前と値を文字列として格納する抽象クラスをサブクラス化します。このサブクラスは、基本クラスに型の安全性を追加する(そして、いくつかの変換で私を救う)という考えです。 だから、私は(おおよそ)これであるクラスを作成しました: public class TypedProperty<DataType> : Property { public DataType TypedValue { get { // Having problems here! } set { base.Value = value.ToString();} } } だから問題は: 文字列からプリミティブに戻す「一般的な」方法はありますか? 変換を全面的にリンクする汎用インターフェイスを見つけることができないようです(ITryParsableのようなものが理想的でした!)。

21
なぜ人々はまだJavaでプリミティブ型を使用するのですか?
Java 5以降、プリミティブ型のボクシング/アンボクシングがint行われるようjava.lang.Integerになりました。 私は(という最近の新しいJavaプロジェクトの多くを参照してください間違いなく使用している少なくともバージョン5のJREを必要とし、そうでない場合は6)intのではなくjava.lang.Integer、それは変換するためのいくつかのヘルパーメソッドを持っているとして、それは、後者を使用することがはるかに便利だけれども、long値等へ なぜいくつか がJavaでまだプリミティブ型を使用はですか?目に見えるメリットはありますか?

7
Java:整数の等しいと==
Java 1.5以降、多くの状況でIntegerとほとんど交換できますint。 ただし、コードに潜在的な欠陥があり、少し驚いた。 次のコード: Integer cdiCt = ...; Integer cdsCt = ...; ... if (cdiCt != null && cdsCt != null && cdiCt != cdsCt) mismatch = true; 値が等しい場合、不一致を誤って設定しているように見えましたが、どのような状況下であるかはわかりません。私はEclipseにブレークポイントを設定し、Integer値が両方とも137であることを確認しました。ブール式を検査したところ、falseであることがわかりましたが、ステップオーバーすると、ミスマッチをtrueに設定していました。 条件を次のように変更します。 if (cdiCt != null && cdsCt != null && !cdiCt.equals(cdsCt)) 問題を修正しました。 なぜこれが起こったのかについて誰かが光を当てることができますか?これまでのところ、自分のPCのローカルホストでの動作のみを確認しました。この特定のケースでは、コードは約20回の比較に成功しましたが、2回失敗しました。問題は一貫して再現可能でした。 それが一般的な問題である場合は、他の環境(開発とテスト)でエラーを引き起こしているはずですが、これまでのところ、このコードスニペットを実行する何百ものテストの後に問題を報告した人はいません。 ==2つのInteger値を比較するために使用することはまだ正当ではありませんか? 以下のすべての良い答えに加えて、次のスタックオーバーフローリンクにはかなりの追加情報があります。実際には元の質問に答えていたはずですが、質問でオートボクシングについて言及しなかったため、選択した提案には表示されませんでした。 コンパイラ/ JVMがオートボクシングを「機能するだけ」にできないのはなぜですか?


6
複数のプリミティブパラメータをAsyncTaskに渡すにはどうすればよいですか?
2つのパラメータをAsyncTaskクラスに渡すにはどうすればよいですか?などの関連する質問があります。、しかし、複数のプリミティブをパラメーターとしてAsyncTaskに渡すことを無駄に試みるのが難しいことに遭遇したので、私が発見したことを共有したいと思います。この微妙な点は既存の質問と回答には反映されていないので、私と同じ問題に遭遇した人を助け、彼らの苦痛を救いたいと思います。 質問はこれです:バックグラウンドで実行するためにAsyncTaskに渡したい複数のプリミティブパラメータ(たとえば2つのlong)があります-どのようにそれを行うことができますか?(私の答えは...しばらくこれに苦労した後...以下にあります。)

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