Hier ist ein Zitat aus dem eigentlichen JavaBeans-Spezifikationsdokument :
8.3.2 Boolesche Eigenschaften
Für boolesche Eigenschaften erlauben wir außerdem, dass eine Getter-Methode mit dem Muster übereinstimmt:
public boolean is<PropertyName>();
Diese
is<PropertyName>
-Methode kann anstelle einerget<PropertyName>
-Methode bereitgestellt werden, oder sie kann zusätzlich zu einerget<PropertyName>
-Methode bereitgestellt werden. In beiden Fällen, wenn die Methodeis<PropertyName>
für eine boolesche Eigenschaft vorhanden ist, verwenden wir die Methodeis<PropertyName>
, um den Eigenschaftswert zu lesen.
Beachten Sie, dass dies für die Werte boolean
und nicht Boolean
gilt. Beachten Sie auch, dass is
eine zulässige Alternative zu get
und get
ist immer angemessen ist.
Netbeans ist hier nicht falsch - für Boolean
Objekt Eigenschaften get
ist korrekt. Zum einen könnte der Eigenschaftswert null
sein, in diesem Fall wäre is
nicht sinnvoll.
Die Javabeans-Spezifikation erlaubt is
für Geben Sie boolean
als Sonderfall ein, und erwähnt nicht Boolean
. Zu vermuten, dass dieser Sonderfall auf Boolean
-Objekte ausgedehnt wird, wäre ungültig.
Es hängt davon ab, ob die Klasse, die die Methode enthält, als JavaBean behandelt werden soll oder nicht.
Wenn Sie beabsichtigen, dass es sich um eine JavaBean handelt, dann ist Marko Topolniks Antwort zutreffend.
Sonst gibt es kein richtig oder falsch. Ob get
oder is
(oder etwas anderes) verwendet werden soll, hängt vom Vertrag und Zweck der Methode ab. Erans erster Kommentar ist genau richtig:
Hier gibt es kein richtig oder falsch. Ich denke isMain oder hasMain oder unterstütztMain (depending auf welche Hauptmittel) sind beschreibender. Ich denke nicht, dass es einen Unterschied machen sollte, ob es nun boolesch oder boolesch ist.
Sie fragen, was die Konvention ist, und ich würde sagen, dass die Konvention darin besteht, die Methode so beschreibend und semantisch genau wie möglich zu benennen.
Um auf näher einzugehen ist vs get :
Wenn die Methode als allgemeiner Accessor für eine Eigenschaft "capital_B Boolean
" gedacht ist, die den Wert null
annehmen lässt, ist es sinnvoller, get
zu verwenden.
Wenn die Methode den Status eines ansonsten internen (wie in diesem Fall private
) Nicht-Null-Flags angeben soll, würde ich argumentieren, dass is
ein passendes Präfix wäre. (Obwohl ich wahrscheinlich boolean
als Rückgabewert verwenden würde, es sei denn, es gab einen häufigen Anwendungsfall für zB isMain().hashCode()
oder etwas ähnliches.)
Am Boolean
Objekt können Sie viele Methoden anwenden: toString
, equals
, valueOf
..
Es gibt keine vollständige Antwort auf Ihre Frage, es hängt wirklich von der Verwendung ab und wer die Methode aufruft. Es macht Sinn zu haben:
%Vor% Aber wenn Ihre Logik nicht sicherstellt, dass main
den Wert null
haben kann, dann ist get
ein gutes Präfix.