Bit-Operator &

Status
Nicht offen für weitere Antworten.

diggaa1984

Top Contributor
ich trau mich ja fast nich zu fragen, aber ich bekomms grad nicht hin ^^

Ich habe einen modifier den ich beim Erstellen einer View übergebe. Es werden dabei Buttons je nach Modifier erstellt. Momentan manipuliere ich dabei JButtonTabComponents für ein JTabbedPane. Das heisst bei entsprechenden Modifiern habe ich auf dem Tab-Reitern Buttons (zB. closeTab-Button oder dergleichen)

so, das ganze funktioniert, wenn ich nur einen Modifier angebe, aber nicht wenn ich 2 kombiniere a là
Code:
Editor.CLOSEABLE  & Editor.IMPORTABLE_GRAMMARFILE

Auswertung ist dann wie folgt:
Java:
if ((modifier & Editor.IMPORTABLE_GRAMMARFILE) == Editor.IMPORTABLE_GRAMMARFILE) { 
    ... 
}

if ((modifier & Editor.CLOSEABLE) == Editor.CLOSEABLE) {
    ...
}
sowie

definiert als:
Java:
public static final int NONE = 0;
	
public static final int CLOSEABLE = 1;
	
public static final int IMPORTABLE_GRAMMARFILE = 2;

ich dachte ich hätte die bitweisen Operatoren verstanden, aber dem scheint ja nicht so :D
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
wenn ich 2 kombiniere a là
Code:
Editor.CLOSEABLE  & Editor.IMPORTABLE_GRAMMARFILE
Das ist ja auch kein "Kombinieren" sondern eher sowas wie "zu 0 plattmachen".
Kombinieren geht mit |
Das design finde ich irgendwie äußerst suspekt. Kannst du diese "Flags" nicht in ein ordentliches enum packen, und in einem HashSet hin und her übergeben? Diese bitweise-hacks riechen irgendwie verdächtig nach C :autsch:
sry für alle die grad wie wild posten :D
grrrr^^
 

diggaa1984

Top Contributor
Das design finde ich irgendwie äußerst suspekt. kannst du diese "Flags" nicht in ein ordentliches enum packen, und in einem HashSet hin und her übergeben? Diese bitweise-hacks riechen irgendwie verdächtig nach C :autsch:

grrrr^^

hm ich hatte mich da vorläufig an der Nutzung der StyleBits für CharacterAttribute orientiert .. und mehr als 2 buttons sind nicht geplant auf den Tabreitern, klar ist das zwar kontraproduktiv was die einfache Erweiterbarkeit angeht, aber es war so erstmal zweckmäßig. Bei der Prüfung der Bits muss ich doch im Endeffekt trotzdem die if's erstellen, da ja unterschiedliche Buttons erzeugt werden. Rein Codetechnisch sollte sich da nicht soviel einsparen lassen oder seh ich das verkehrt?
 

0x7F800000

Top Contributor
Rein Codetechnisch sollte sich da nicht soviel einsparen lassen oder seh ich das verkehrt?
nein, einsparen würde man damit eigentlich nichts. Wenn an manchen Stellen bisschen was kürzer werden würde, wäre es anderswo wieder länger. Aber bei diesen Flags-geschichten hat man echt pech, wenn einem irgendwann die 32 werte nicht reichen :autsch:
 
M

maki

Gast
int Konstanten sind auch anfällig für Fehler, verwende 2-mal denselben Wert, das kann dauern bis es einem auffällt ;)
Sind eben nur "doofe" ints...
Seit Java 5 sollte int-Konstanten nicht mehr verwendet werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
C ?: Operator Java Basics - Anfänger-Themen 14
L Java operator % Java Basics - Anfänger-Themen 3
KogoroMori21 Erklärung zum Ternären Operator Java Basics - Anfänger-Themen 4
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
L Modulus Operator Java Basics - Anfänger-Themen 3
A Zuweisungen und -- operator; Java Basics - Anfänger-Themen 2
H << Operator Java Basics - Anfänger-Themen 7
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
H Operatoren Der bedingte Operator ? : ; Java Basics - Anfänger-Themen 2
J new-Operator Java Basics - Anfänger-Themen 6
H this operator - was ist das? Java Basics - Anfänger-Themen 2
R Operatoren Bad operand types for binary operator Java Basics - Anfänger-Themen 4
O Bedingter Operator eine Frage! Java Basics - Anfänger-Themen 10
O Erste Schritte x*y*z mit Shift Operator moeglich? Java Basics - Anfänger-Themen 15
L Operatoren error: bad operand types for binary operator && Java Basics - Anfänger-Themen 8
E Methoden in new-Operator Methode in geschweifter Klammer Java Basics - Anfänger-Themen 3
I bad operand types for binary operator > Java Basics - Anfänger-Themen 5
D Conditional Operator ?: Java Basics - Anfänger-Themen 3
L Operatoren Übungsklausuraufgabe, unbekannter Operator Java Basics - Anfänger-Themen 13
H Operatoren Fehler bad operand types for binary operator Java Basics - Anfänger-Themen 7
snipesss Operator "-" is undefined Java Basics - Anfänger-Themen 1
F Operatoren If mit variabelem Operator Java Basics - Anfänger-Themen 2
J instanceof Operator Java Basics - Anfänger-Themen 3
K Operatoren The Operator * is undefined for the argument type(s) double, String Java Basics - Anfänger-Themen 4
J Operator * benutzen Java Basics - Anfänger-Themen 3
DeVolt Operatoren Frage zum new-Operator Java Basics - Anfänger-Themen 4
N Methoden Modulo Operator Java Basics - Anfänger-Themen 1
S Operatoren ! Operator Java Basics - Anfänger-Themen 4
O Operator undefined Java Basics - Anfänger-Themen 2
N this-Operator Java Basics - Anfänger-Themen 2
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
S Hashcode - Operator ^ Java Basics - Anfänger-Themen 11
M Shift Operator Java Basics - Anfänger-Themen 3
V XOR-Operator? Java Basics - Anfänger-Themen 5
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
J bad operand types for binary operator Java Basics - Anfänger-Themen 3
T Pixelmanipulation Sobel-Operator Java Basics - Anfänger-Themen 2
K Frage zu Class Operator Java Basics - Anfänger-Themen 2
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
C Operatoren | - Operator Java Basics - Anfänger-Themen 10
K .Class Operator unklar Java Basics - Anfänger-Themen 3
B Operator | Java Basics - Anfänger-Themen 11
R Compiler-Fehler Operator + nicht erlaubt? Java Basics - Anfänger-Themen 6
C Was tut der | Operator? Java Basics - Anfänger-Themen 8
K Polymorphie und instanceOf Operator Java Basics - Anfänger-Themen 6
S Objekt Erzeugung ohne new Operator Java Basics - Anfänger-Themen 6
C Logischer UND Operator funktioniert nicht richtig Java Basics - Anfänger-Themen 5
H Buch: Java lernen mit BlueJ Modulo-Operator Java Basics - Anfänger-Themen 16
K Conditional Operator Java Basics - Anfänger-Themen 16
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
A Operator in Java Java Basics - Anfänger-Themen 11
S Modulo Operator Java Basics - Anfänger-Themen 8
C Variablen Problem: variable operator might not have been initialized Java Basics - Anfänger-Themen 9
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
K OOP Wertebereich Ergebnis von % Operator Java Basics - Anfänger-Themen 8
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
R Ersatz für Modulo Operator Java Basics - Anfänger-Themen 8
W &-Operator in diesem Zusammenhang Java Basics - Anfänger-Themen 19
J Oder-Operator Tastenkürzel Java Basics - Anfänger-Themen 7
K Cast-Operator Java Basics - Anfänger-Themen 3
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
V Cast-Operator Java Basics - Anfänger-Themen 2
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
N Operator aus Array lesen Java Basics - Anfänger-Themen 2
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
M Binärdarstellung in Java mit Shift-Operator + bitweises und Java Basics - Anfänger-Themen 2
W Seltsamer Operator int var = 1<< 23; Java Basics - Anfänger-Themen 4
P If Abfrage, Variablenvertauschung und UND Operator Java Basics - Anfänger-Themen 4
J Modulo-Operator rechnet falsch Java Basics - Anfänger-Themen 2
B + operator Java Basics - Anfänger-Themen 4
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
H Konditional Operator Java Basics - Anfänger-Themen 2
NightmareVirus new operator Java Basics - Anfänger-Themen 5
M %-Operator Java Basics - Anfänger-Themen 3
G string ohne '+' operator Java Basics - Anfänger-Themen 5
S Modulo-Operator Java Basics - Anfänger-Themen 5
S Operator ! auf char nicht anwendbar, was nun? Java Basics - Anfänger-Themen 7
T sobel-operator Java Basics - Anfänger-Themen 3
W %-Operator Java Basics - Anfänger-Themen 4
S Unterschied: ++a & a++ Operator? Java Basics - Anfänger-Themen 9
ven000m Operator += Java Basics - Anfänger-Themen 4
Student Probleme mit dem new-Operator Java Basics - Anfänger-Themen 14
G Operator-Überladung Java Basics - Anfänger-Themen 6
B Operator Java Basics - Anfänger-Themen 2
Z operator ++ Java Basics - Anfänger-Themen 3
N return-Operator Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben