Java:如何初始化String ?

错误

% javac StringTest.java StringTest.java:4: variable errorSoon might not have been initialized errorSoon[0] = "Error, why?"; 

 public class StringTest { public static void main(String[] args) { String[] errorSoon; errorSoon[0] = "Error, why?"; } } 

您需要初始化 errorSoon ,如错误消息所示,您只声明了它。

 String[] errorSoon; // <--declared statement String[] errorSoon = new String[100]; // <--initialized statement 

您需要初始化数组,以便开始设置索引之前String元素分配正确的内存。

如果你声明数组(如你所做的那样),那么没有为String元素分配内存,但是只有对errorSoon的引用句柄,并且当你试图在任何索引处初始化一个variables时会抛出一个错误。

作为一个方面说明,你也可以初始化大括号内的String数组, { }

 String[] errorSoon = {"Hello", "World"}; 

相当于

 String[] errorSoon = new String[2]; errorSoon[0] = "Hello"; errorSoon[1] = "World"; 
 String[] args = new String[]{"firstarg", "secondarg", "thirdarg"}; 
 String[] errorSoon = { "foo", "bar" }; 

– 要么 –

 String[] errorSoon = new String[2]; errorSoon[0] = "foo"; errorSoon[1] = "bar"; 

我相信你刚刚从C ++迁移,那么在Java中,你必须初始化一个数据types(除了原始types和string不被认为是Java中的原始types)使用它们作为根据他们的规格,如果你不它就像一个空的引用variables(很像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?"}; } } 
 String[] errorSoon = new String[n]; 

n是需要保存多less个string。

你可以在声明中做到这一点,也可以在没有String []的情况下做,只要在尝试使用它之前。

你总是可以这样写

 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声明:

 String str; 

string初始化

 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"; 

我们可以得到string中的个性:

 char chr=str.charAt(0);`//output will be S` 

如果我想要获得像这样的个性化Ascii值:

 System.out.println((int)chr); //output:83 

现在我想将Ascii值转换为Charecter / Symbol。

 int n=(int)chr; System.out.println((char)n);//output:S 
 String[] string=new String[60]; System.out.println(string.length); 

它初始化并获得STRING LENGTH代码非常简单的方式为初学者