Error
% javac StringTest.Java
StringTest.Java:4: variable errorSoon might not have been initialized
errorSoon[0] = "Error, why?";
Code
public class StringTest {
public static void main(String[] args) {
String[] errorSoon;
errorSoon[0] = "Error, why?";
}
}
Sie müssen initialisierenerrorSoon
, wie in der Fehlermeldung angegeben, Sie haben nur deklariert .
String[] errorSoon; // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement
Sie müssen das Array initialisieren, damit es den korrekten Speicherplatz für die String
-Elemente zuordnen kann, bevor Sie mit den Index festlegen können.
Wenn Sie only das Array (wie Sie) deklarieren, wird den String
-Elementen kein Speicher zugewiesen, sondern nur ein Referenz-Handle auf errorSoon
. Wenn Sie versuchen, eine Variable in einem Index zu initialisieren, wird ein Fehler ausgegeben.
Als Randbemerkung können Sie auch das String
-Array in geschweiften Klammern { }
so initialisieren,
String[] errorSoon = {"Hello", "World"};
das ist äquivalent zu
String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";
String[] args = new String[]{"firstarg", "secondarg", "thirdarg"};
String[] errorSoon = { "foo", "bar" };
-- oder --
String[] errorSoon = new String[2];
errorSoon[0] = "foo";
errorSoon[1] = "bar";
Ich glaube, Sie sind gerade von C++ gewandert. Nun, in Java müssen Sie einen Datentyp initialisieren (andere als primitive Typen und String werden in Java nicht als primitiver Typ betrachtet), um sie gemäß ihren Spezifikationen zu verwenden, wenn Sie dies nicht tun Es ist wie eine leere Referenzvariable (ähnlich wie ein Zeiger im Kontext von C++).
public class StringTest {
public static void main(String[] args) {
String[] errorSoon = new String[100];
errorSoon[0] = "Error, why?";
//another approach would be direct initialization
String[] errorsoon = {"Error , why?"};
}
}
In Java 8 können wir auch Streams verwenden, z.
String[] strings = Stream.of("First", "Second", "Third").toArray(String[]::new);
Falls wir bereits eine Liste von Strings (stringList
) haben, können wir das String-Array wie folgt sammeln:
String[] strings = stringList.stream().toArray(String[]::new);
String[] errorSoon = new String[n];
Da n ist, wie viele Zeichenfolgen es halten muss.
Sie können dies in der Deklaration oder später ohne den String [] tun, solange Sie sie verwenden.
Sie können es immer so schreiben
String[] errorSoon = {"Hello","World"};
For (int x=0;x<errorSoon.length;x++) // in this way u create a for loop that would like display the elements which are inside the array errorSoon.oh errorSoon.length is the same as errorSoon<2
{
System.out.println(" "+errorSoon[x]); // this will output those two words, at the top hello and world at the bottom of hello.
}
String Deklaration:
String str;
String-Initialisierung
String[] str=new String[3];//if we give string[2] will get Exception insted
str[0]="Tej";
str[1]="Good";
str[2]="Girl";
String str="SSN";
Wir können einzelne Zeichen in String bekommen:
char chr=str.charAt(0);`//output will be S`
Wenn ich den individuellen Ascii-Wert wie folgt erhalten möchte:
System.out.println((int)chr); //output:83
Nun möchte ich den Ascii-Wert in Charecter/Symbol konvertieren.
int n=(int)chr;
System.out.println((char)n);//output:S
String[] string=new String[60];
System.out.println(string.length);
es ist die Initialisierung und das Abrufen des STRING LENGTH-Codes auf sehr einfache Weise für Anfänger
Sie können den folgenden Code verwenden, um die Größe zu initialisieren und einen leeren Wert für das Array von Strings festzulegen
String[] row = new String[size];
Arrays.fill(row, "");
String[] arr = {"foo", "bar"};
Wenn Sie ein String-Array an eine Methode übergeben, gehen Sie wie folgt vor:
myFunc(arr);
oder mache:
myFunc(new String[] {"foo", "bar"});