我必须将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数组,它不应该改变..任何人都建议我有什么不妥。
答案 0 :(得分:3)
当前的问题是,在执行uniqueID = lUniqueID.toCharArray();
时,您将新的char数组分配给uniqueID
,而不是将其内容分配到之前定义的数组中。
您可以使用Arrays.copyOf
完成您想要实现的目标。
char[] uniqueID = Arrays.copyOf(lUniqueID.toCharArray(), 10);
答案 1 :(得分:1)
答案 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);