2012-05-16 171 views
2

我无法将字符串变量分配给字符串数组。 我的代码是:将字符串变量分配给字符串数组

//Declaring a String array 
public String [] fileWrite = new String [10]; 

//assigning a variable 

String value = String.valueOf(aChar1); 
fileWrite[0] = value; 

但是,当我尝试打印的阵列,它给null。我检查了变量的值,但这没关系。我无法理解数组为null的原因。

+2

我担心太多的信息在这里失踪。请说明如何打印数组,并告诉我们aChar1是什么。 –

+0

您能否提供一个[简短,完整,可编译的示例程序](http://sscce.org)来解决您的问题? – Attila

回答

4

首先,你需要知道,“印刷阵列”在Java中多少有些“破碎“:你需要使用Arrays.toString(array)来打印一个数组(你不能依靠array.toString() - 它没有用)。

试试这个代码:

public static void main(String[] args) { 
    String[] fileWrite = new String[10]; 
    char aChar1 = 'x'; 
    String value = String.valueOf(aChar1); 
    fileWrite[0] = value; 
    System.out.println(Arrays.toString(fileWrite)); 
} 

输出:

[x, null, null, null, null, null, null, null, null, null] 
+0

嘿非常感谢...它工作:) – user1318860

0
public String[] fileWrite = new String[10]; 
fileWrite[0] = aChar1 + ""; 

试试这个

+3

这可能会有什么帮助? –

0

的分配是正确的。也许可变aChar1为空或字符串“空”

0

要分配给数组变量尝试

String[] fileWrite = new String[10]; 
    Arrays.fill(fileWrite, aChar1); 
    System.out.println(Arrays.toString(fileWrite)); 
+0

试过,但它没有完全填补我的目的 – user1318860

相关问题