


Array-Zuweisungssyntax außerhalb von Deklarationen
Die Array-Initialisierungssyntax von Java unterscheidet sich je nachdem, ob sie in einer Deklaration oder einer Zuweisung verwendet wird.
Initialisierung mit Array Literale
Bei der Deklaration eines Arrays können Array-Literale verwendet werden, um es zu initialisieren Elemente:
AClass[] array = {object1, object2};
Initialisierung mit dem neuen Operator
Außerhalb einer Deklaration können Arrays mit dem neuen Operator initialisiert werden, gefolgt von der Elementanzahl und nachfolgenden Zuweisungen:
AClass[] array = new AClass[2]; array[0] = object1; array[1] = object2;
Syntaxeinschränkungen: Zuweisen von Array-Literalen zu nicht deklarierten Arrays
Es wird jedoch versucht, eine Zuweisung vorzunehmen Ein Array-Literal für eine nicht deklarierte Array-Variable ist verboten:
AClass[] array; ... array = {object1, object2}; // Blocked by Java
Diese Einschränkung wird von Java aus Gründen auferlegt, die möglicherweise nicht sofort ersichtlich sind.
Problemumgehung: Verwendung eines neuen Operators mit Array Literale
Als Workaround kann die folgende Syntax verwendet werden:
AClass[] array; ... array = new AClass[]{object1, object2};
Dieser Ansatz kombiniert die Array-Erstellung und -Initialisierung in eine einzige Anweisung unter Einhaltung der Java-Syntaxregeln.
Beispiel
Betrachten Sie beispielsweise den folgenden Codeausschnitt:
public void selectedPointsToMove(cpVect coord) { if (tab == null) { if (arePointsClose(coord, point1, 10)) { cpVect[] tempTab = {point1}; tab = tempTab; } else if (arePointsClose(point2, coord, 10)) { cpVect[] tempTab = {point2}; tab = tempTab; } else { cpVect[] tempTab = {point1,point2}; tab = tempTab; } } }
Ohne die Problemumgehung würde der Code Folgendes erfordern zusätzliche Anweisungen zum Initialisieren von tempTab, bevor es tab zugewiesen wird.
Das obige ist der detaillierte Inhalt vonWie unterscheidet sich die Array-Zuweisungssyntax von Java innerhalb und außerhalb von Deklarationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor