問題タブ [enumset]

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 投票する
4 に答える
3265 参照

java - A が B から継承する場合のEnumSetから Set への変換

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

java - enumset を使用したジェネリック クラスのコンストラクターの問題

Javaでクラスを開発したい。問題は、コンストラクターが機能しないことです

クラスは次のとおりです。

マップを初期化したいのですEnumSet.noneOf(E.class)が、コンストラクターでエラーが発生します。

コンストラクタが間違っていますか?コンストラクターなしで変数マップを初期化できますか?

変数コンテキストで試しpublic EnumSetPlus<<E extends Enum<E>>> = EnumSet.noneOf(E)ましたが、うまくいきません。

map = EnumSet.noneOf(E.class)私もコンストラクターを試しましたが、どちらも機能しません。

構文かメソッドの問題だと思います

私たちを手伝ってくれますか?

よろしくお願いします!

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

java - EnumSet を使用して 1 つのフィールドで 2 ビットを結合するにはどうすればよいですか?

1 バイトでコード化されたバイナリ文字列が与えられた場合、そのバイトのビットのいくつかを列挙値にマップすることは可能ですか?
例:フィールドをこれに切り取りたいとします:

  • bit1 および bit2 = フィールド 1
  • ビット 3 = フィールド 2
  • ビット 4 = フィールド 3
  • ビット 5 = フィールド 4
  • 他のビットは未使用

どうすればそれを次のようにマッピングできますか:

私がやろうとしているのは、ビットマスクを使用してこれらの列挙値を除外することです。そのために、次の方法を実行しました。

列挙型フィールドが単一のビットを表している限り、これは正常に機能しますが、それらを単一のフィールドに結合する方法がわかりません。当たり前のようで申し訳ありませんが、ビットレベルでデータを操作するのはこれが初めてです...

コメントの編集 : フィールド構造を編集して、実際に持っているものを表現しました。したがって、1 ビットを超えるフィールドは field1 だけです。bit1 と bit2 の存在に基づいて、重み変数を field1 に割り当てます。

ここに私が今思いついた汚い解決策がありますが、これらすべての if ステートメントではあまり好きではありません。誰かがより良い解決策を持っている場合は、これを変更して喜んでいます;-)

ありがとう !

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

java - 共通インターフェースを実装する列挙型の処理(反復、逆シリアル化)

Webソースからデータをロードして表示するAndroidアプリケーションがあります。ソースごとに分割された列挙型定数で、これらのソースがサポートする各APIメソッドを整理しました。たとえば、SourceAはスポーツと天気のデータを提供し、SourceBは株式とニュースのデータを提供するとします。

各列挙型クラスには、サービスAPI(差分ソース用の異なるAPI)を処理するためのプライベートメンバーもあります

そしての変数ServiceMethod

いいえ、ユーザー履歴を保存する必要がないため、変数をシリアル化および逆シリアル化し、ServiceMethodこのインターフェイスを実装するすべての列挙型からすべての定数を列挙する必要があります。シリアル化は単純に見え、問題外です。

今、私は列挙型を手動で繰り返します:

これのためのよりクリーンでより良い方法はありますか?それとも私のアプローチは完全に間違っていますか?また、すべてServiceMethodが(すべての列挙型にわたって)一意の名前を持つようにする方法はありますか?

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

java - Java - EnumSet.add(enum)、NullPointerException をスロー

これはJavaであり、クロスプラットフォームであり、ランタイムとしてOpenJDKがインストールされたUbuntu Onericを実行しているコンピューターでデバッグされています。

私が取り組んでいるゲームのクラス内をチェックするための EnumSet があります。コンストラクターの十分なデバッグから、logcat からこの読み取り値があります。

面白くない。それを追跡すると、私の問題は完全に次の行のようです:

これは、その関数の本体を意味します。コンストラクターから次のように呼び出されます。

NullPointerException が発生した場合。Passability Enum Type の本体には、

文字通り、enum 保存パッケージ宣言全体として。this.passability が宣言されています

クラス定義の冒頭で、Java 標準の EnumSet の定義の一部として add() メソッドが継承されているという印象を受けました。

私は独学ですが、頭がおかしいわけではありません。私が何か間違っているか、これを行うためのより良い方法があります。役に立つ知識をお持ちで、手を貸していただける方はいらっしゃいますか?

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

java - jspでenumset.containsを使用するにはどうすればよいですか?

私は列挙型を持っています:

特定の条件に基づいて、アクション クラスに enumSet を設定しました。私の jsp では、この enumSet に存在するセクションのみをレンダリングしたいと考えています。

この構造は機能しません:

jsp で enumSet.contains(..) を使用するにはどうすればよいですか?

0 投票する
10 に答える
62363 参照

java - EnumSet の本当の意味は何ですか?

次の例があります。

このコードでは、Enum が Enum 型の Sizes を作成することを理解できます。

私の質問は: largeSizeEnumSet 型のオブジェクトですか? それは本当にどういう意味ですか?私は本当にそれをもっとよく理解したいです。

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

java - メソッドパラメータを特定の列挙型メンバーのみに制限できますか?

列挙型の特定のメンバーのみを取得するようにメソッドを制限する方法はありますか?あなたが軍隊と入隊した階級の列挙を持っていたとしましょう。将校ランクしか取れない関数と、入隊ランクしか取れない関数が欲しかったのなら、Javaでそれを行う方法はないと思いますよね?

0 投票する
2 に答える
341 参照

java - このビットシフト操作は、Java RegularEnumSet 実装で何を意味しますか?

RegularEnumSet実装には、次のコードがあります。

Long 型の整数を使用して効率的な EnumSet を実装します。

注目すべきは、 の右側のオペランドが>>>数であることです。

私はテストし、それを発見しました

と同等の効果があります

では、なぜわざわざこのあいまいな形式で書くのでしょうか。

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

exception - db4o 列挙セットの例外

透明なアクティベーション/永続性を備えたdb4o 8.0を使用しています... EnumSet(およびその他のもの)を含むクラスがあります。インスタンス化し、列挙値をセットに追加して保存します。DBで検索して取得し、オブジェクトをアクティブ化しようとすると、次の例外が発生します。

enumSet を db4o に格納するには、次を使用します。

何が問題なのかわかりません。何か案は?

編集:
db4o について質問する場所がわかりません。SO コミュニティは db4o についてあまり活発ではないようです。これは、db4o があまり普及していないためか、それとも「サポート」のための別の場所があるためですか?

EDIT 2:
関連するかもしれないが役に立たない versant のフォーラムの投稿を見つけました: http://community.versant.com/Forums/tabid/98/aft/1046/Default.aspx#3370

もう一つ認識しました。java.util.EnumMap および java.util.EnumSet の組み込みサポートはありません。db4o は例外をスローします。これは、デフォルトのコンストラクターがなく、null 引数を持つすべてのコンストラクターがこれらのクラスに対して失敗するためです。Db4o.configure().objectClass("java.util.EnumMap").translate(new com.db4o.config.TSerializable()) はもちろん問題を解決します。標準のコレクション フレームワークをサポートする必要があると思います。