Bedeutet "instanceof " Void" immer false zurück?
Kann diese Methode zurück true
irgendwie?
public static <T> boolean isVoid(T t)
{
return t instanceof Void;
}
- wie nennt man diese Methode? können Sie einige Beispiele nennen?
- Warum würden Sie sogar wollen, um diesen test zu tun? Es muss eine Geschichte hinter all dem.
- Ich mag einfach diese heikle behavoirs neben ich möchte mehr wissen über "die Leere"
- +1 für Lächerlichkeit
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, aber ich bin mir sicher, das ist nicht wirklich hilfreich:
Einen
Void
Klasse kann nicht instanziiert werden, so daß normalerweise Ihrem code erforderlich wäre nicht zu bewältigenVoid
Instanzen. Der obige code-snippet ist nur ein Beispiel von dem, was Verwüstung, die Sie entfesseln können, wenn mit der spiegelung... 😉c.newInstance()
(brauchen nicht dienull
param)().isInstanceOf[Unit] == true
Ich nicht sehen, warum würden Sie überprüfen, ob ein Wert eine Instanz von
void
(oderVoid
), da wie gesagt x-TEN mal, nicht instanziert, oder auch erweitert, ohne hacken mit reflexion. Aber für eine nützliche situation, wenn Sie wissen möchten, ob eine bestimmteClass
ist ein void-Typ, die Sie nicht verwenden würdeinstanceof
und Ihre Methode parameter vom TypClass<?>
statt. Ein test-Fall :denen ausgeben würde
Vielleicht gibt es andere Anwendungen für diese Methode, aber ich sehe keine andere jetzt.
No:
Nicht. Um es true zurück, Sie nennen Sie es und geben Sie ein argument des Typs
Void
. Aber der Konstruktor der Klasse Void ist privat, so können Sie es nicht nennen. Außerdem ist diese Klasse ist final, damit Sie nicht noch verlängern. Kann man so nicht erstellen Sie eine Instanz der KlasseVoid
. Aber es ist notwendig, um die Methode true zurück.BTW: Wenn Sie wirklich wollen, es zu tun, rufen Sie den Konstruktor der
Void
durch Reflexion. Aber ich kann mir denken, über, dies als einen Missbrauch des Systems ausüben. Viel Glück.