2009-07-24 4 views
5

.NETクライアントによって最初に消費されるが、将来はJavaクライアントに消費されるWCFサービスをいくつか作成しています。Javaの消耗しやすいサービスの.NET nullable値型のベスト代替

このように、Javaがサポートしていないインタフェースではデータ型の使用を避けたいと考えています。

われわれが知っている特定のものは、null値型です。

文字列を使用して、たとえばnullを指定できるintを使用してこれらをサポートできることをお勧めします。したがって、空文字列はnullを表し、そうでなければ、文字列をintとして解析可能でなければならないという要件があります。

誰かが良い選択肢を勧められますか、これはあなたがやることですか?

+2

これは興味深い質問です。私はそれ以上の答えがないことに驚いています。 – RichardOD

答えて

3

私が数年前に参加したプロジェクト(.NET/Javaの組み合わせ)で使用されたアプローチの1つは、インジケータのプロパティー:NumPropertyNumPropertyIsNullを追加することでした。特にかわいいとは言えませんでしたが、効果はありました。

サイドノードとして、私は最終的に0nullの違いが実際に重要だった1つのビジネスケースを見つけることができなかったと思います。

+1

+1、 "0とnullの違いが実際には重要な単一のビジネスケースを見つけることはできません"の場合は-1。 0とnullは異なる値であり、異なる手段を持つことができます。たとえば、0 =合計カウントはゼロ、NULL =合計カウントは不明です。 – TcKs

+3

@TcKs:私はNULLが同じではないことをよく承知しています。私はその特定のプロジェクトでは、実用的な違いがないことを認識しました。それはもちろんプロジェクトごとに異なりますが、考慮する価値はあります。違いがアプリケーションに関係しない場合は、おそらくそれのためのソリューションを設計する時間を費やすべきではありません。別のプロジェクトでは、その差は重要である可能性があります。 –

+0

@FredrikMörk:NULLと0の間に違いがない場合、なぜ変数/列/ etcにNULLをサポートするのですか? – TcKs

5

私は何も、Javaからラッパー型を使用することを消費することをあなたはWCFを通じてNULL可能整数を公開することができるかどうかということ希望、いただきたい - これらは参照型ですもちろんInteger代わりのintByte代わりのbyteなどを.NETのnull可能な値の型は依然として値型なので、GCの負荷が高くなりますが、一般的に効率は低くなりますが、Javaではユーザー定義の値がサポートされていないため、タイプ。

+0

null可能なintを公開するサービスのプロキシクラスを生成すると、何が起こるかを検証できるJavaの人がいますか? –

+0

WCFサービスをどのように公開するのですか? –

+0

@ジョン - 私はあなたが「どのように」どういう意味であるかを確信しています... –

関連する問題