Gibt es eine Möglichkeit Methoden GregorianCalendar in Java hinzufügen?
-
18-09-2019 - |
Frage
Ich möchte eine Methode, um als „isBetween“ eine boolean Rückkehr zu sehen, ob ein GregorianCalendar Datum zwischen zwei anderen fällt. Alternativ würde Ich mag nur Betreiber definieren
Lösung
Java unterstützt keine monkeypatching oder Betreiber Überlastung, aber das Gefühl frei GregorianCalendar
Unterklasse und hinzufügen, was Methoden, die Sie benötigen.
Aber dann brauchen Sie wirklich eine neue Methode cal.after(startCal) && cal.before(endCal)
zu tun?
Andere Tipps
Nein, können Sie nicht Methode, um bereits bestehende Klassen hinzufügen und Sie können nicht tun Operator entweder in Java zu überlasten.
Als Alternative können Sie eine statische Hilfsmethode in Ihrer eigenen Klasse zum Beispiel bieten könnten.
Ich würde Ihnen raten gegen die Klasse erweitern - Sie hinzufügen kein Verhalten, das auf Instanzen einer bestimmten Klasse spezifisch ist, sind Sie Logik zum Ausdruck, die für jede GregorianCalendar
anwendbar ist (oder möglicherweise irgendein Kalender überhaupt).
Wie Joachim sagt, eine statische Methode in einer Utility-Klasse ist der Weg zu gehen - und wenn Java immer gewinnt Erweiterungsmethoden wie pro C # (ich weiß, dass sie für Java 7 vorgeschlagen wurden, aber ich denkt sie sind im Moment out) Sie sie an diesem Punkt ändern können.
Oh, und verwenden Sie Joda Zeit trotzdem:)
Sie sollten versuchen, es zu erweitern:
class MyGregorianCalendar extends GregorianCalendar