In Python können Sie eine:
from a import b as c
Wie würden Sie dies in Java tun, da ich zwei Importe habe, die miteinander kollidieren.
In Python können Sie eine:
from a import b as c
Wie würden Sie dies in Java tun, da ich zwei Importe habe, die miteinander kollidieren.
In Java gibt es keinen Import-Aliasing-Mechanismus. Sie können nicht zwei Klassen mit demselben Namen importieren und beide unqualifiziert verwenden.
Importieren Sie eine Klasse und verwenden Sie den vollqualifizierten Namen für die andere, d. h.
import com.text.Formatter;
private Formatter textFormatter;
private com.json.Formatter jsonFormatter;
Wie bereits in den anderen Antworten erwähnt, bietet Java diese Funktion nicht.
Die Implementierung dieser Funktion wurde bereits mehrfach gefordert, z.B. als JDK-4194542: Klassennamen-Aliasing o JDK-4214789: Erweitern Sie den Import, um die Umbenennung des importierten Typs zu ermöglichen .
Aus den Kommentaren:
Dies ist keine unangemessene Forderung, wenn auch nicht unbedingt notwendig. Die gelegentliche Verwendung von voll qualifizierten Namen ist keine unangemessene Belastung (es sei denn, die Bibliothek wirklich immer wieder dieselben einfachen Namen verwendet, was schlechter Stil ist).
Auf jeden Fall erfüllt sie nicht die Anforderungen an das Preis-Leistungs-Verhältnis für eine Sprache. ändern.
Ich vermute also, dass wir diese Funktion in Java in nächster Zeit nicht sehen werden :-P
Es ist wahrscheinlich erwähnenswert, dass Groovy hat diese Funktion :
import java.util.Calendar
import com.example.Calendar as MyCalendar
MyCalendar myCalendar = new MyCalendar()
Heute habe ich einen JEP-Entwurf an OpenJDK über diese Aliasing-Funktion eingereicht. Ich hoffe, sie werden es noch einmal überdenken.
Wenn Sie Interesse haben, können Sie hier einen GEP-Entwurf finden: https://gist.github.com/cardil/b29a81efd64a09585076fe00e3d34de7
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.