Verfügt Java über eine Möglichkeit für Nicht-Bibliotheksentwickler, Erweiterungsmethoden zu verwenden?

8
Die Erweiterungsmethoden von

C # eignen sich hervorragend zum Hinzufügen von syntaktischem Zucker. Java-Erweiterungsmethoden eignen sich hervorragend, um Bibliotheksentwicklern das Hinzufügen von Methoden zu ihren Schnittstellen zu ermöglichen.

Ich bin ein Nicht-Bibliothek Java-Entwickler und weiß, dass ich viele Vorteile davon bekommen werde, neue Funktionen von Bibliotheken zu bekommen, aber ich würde immer noch gerne die syntaktischen Zuckerfähigkeiten von C # -Erweiterungsmethoden haben.

Ist dies oder wird dies in zukünftigen Versionen von Java möglich sein?

zB: Ich möchte der String-Klasse Methoden hinzufügen ...

%Vor%

Bitte konzentrieren Sie sich nicht auf dieses spezielle Beispiel, ich zeige nur die Klasse der Funktionalität, die ich erreichen möchte.

    
Bob Thule 29.10.2012, 16:00
quelle

2 Antworten

5

Java hat diese Funktion nicht und wird es wahrscheinlich auch nicht bald haben.

Groovy hat jedoch ein sehr ähnliches Feature , und es läuft auch auf der JVM. Vielleicht ist das eine Option.

    
Sean Patrick Floyd 29.10.2012, 16:06
quelle
2
___ qstnhdr ___ Verfügt Java über eine Möglichkeit für Nicht-Bibliotheksentwickler, Erweiterungsmethoden zu verwenden? ___ tag123extensionmethods ___ Eine Erweiterungsmethode ist eine Sprachfunktion von Swift, Visual Basic.NET und c #. Erweiterungsmethoden ermöglichen das Hinzufügen von Methoden zu vorhandenen Typen, ohne dass ein neuer abgeleiteter Typ erstellt, neu kompiliert oder der ursprüngliche Typ anderweitig geändert wird. ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstntxt ___
Die Erweiterungsmethoden von

C # eignen sich hervorragend zum Hinzufügen von syntaktischem Zucker. Java-Erweiterungsmethoden eignen sich hervorragend, um Bibliotheksentwicklern das Hinzufügen von Methoden zu ihren Schnittstellen zu ermöglichen.

Ich bin ein Nicht-Bibliothek Java-Entwickler und weiß, dass ich viele Vorteile davon bekommen werde, neue Funktionen von Bibliotheken zu bekommen, aber ich würde immer noch gerne die syntaktischen Zuckerfähigkeiten von C # -Erweiterungsmethoden haben.

Ist dies oder wird dies in zukünftigen Versionen von Java möglich sein?

zB: Ich möchte der String-Klasse Methoden hinzufügen ...

%Vor%

Bitte konzentrieren Sie sich nicht auf dieses spezielle Beispiel, ich zeige nur die Klasse der Funktionalität, die ich erreichen möchte.

    
___ answer13125338 ___

Java hat diese Funktion nicht und wird es wahrscheinlich auch nicht bald haben.

Groovy hat jedoch ein sehr ähnliches Feature , und es läuft auch auf der JVM. Vielleicht ist das eine Option.

    
___ answer13126671 ___

Ich vermute, Sie denken an einen geplanten Zusatz zu Java 8, mit dem Sie Methoden mit Standardimplementierungen zu einer Schnittstelle hinzufügen können - damit Sie neue Methoden hinzufügen können, ohne alle zu brechen bestehender Code. Dies ist nur von Nutzen, wenn Sie den Schnittstellentyp steuern - also nicht für String , weil String keine Schnittstelle ist.

    
___
Louis Wasserman 29.10.2012 16:24
quelle

Tags und Links