如何将字符串值存储在java中的Char数组中?

时间:2014-04-24 11:23:58

标签: java string swing

我必须将String值存储在固定的char数组中,我试过但是在存储值之后char数组的大小变化取决于String Value ...可以任何人告诉我如何解决这个问题..

char[] uniqueID = new char[10];
String lUniqueID = mUniqueIdTxtFld.getText();  
uniqueID = lUniqueID.toCharArray();

O / P:

lUniqueID=12D;     
 it show in uniqueID[1,2,D]... 

但我需要[1,2,D,,,,,,,,]

(即)固定的Char数组,它不应该改变..任何人都建议我有什么不妥。

5 个答案:

答案 0 :(得分:3)

当前的问题是,在执行uniqueID = lUniqueID.toCharArray();时,您将新的char数组分配给uniqueID,而不是将其内容分配到之前定义的数组中。

您可以使用Arrays.copyOf完成您想要实现的目标。

char[] uniqueID = Arrays.copyOf(lUniqueID.toCharArray(), 10);

答案 1 :(得分:1)

使用此方法

System.arraycopy

并从uniqueID = lUniqueID.toCharArray();复制字符 你预先创建的10个字符长的数组arr

答案 2 :(得分:1)

你可以试试这个:

public static void main(String arguments[]) {
    char[] padding = new char[10];
    char[] uniqueID = mUniqueIdTxtFld.getText().toCharArray();
    System.arraycopy(uniqueID, 0, padding, 0, Math.min(uniqueID.length, padding.length));
    System.out.println(Arrays.toString(padding));
}

答案 3 :(得分:0)

以下是摘录:

char[] uniqueID = new char[10];
String lUniqueID = mUniqueIdTxtFld.getText();
char[] compactUniqueID = lUniqueID.toCharArray();
System.arraycopy(compactUniqueID, 0, uniqueID, 0, compactUniqueID.length);

答案 4 :(得分:0)

您是否尝试过yourString.getChars(params)方法?

    lUniqueId.getChars(0,uniqueID.length,uniqueID, 0);