在java中如何在Char数组中存储字符串值。。?
我必须在固定字符数组中存储字符串值,我尝试过,但在存储值后,字符数组大小的更改取决于字符串值。。。有人能告诉我如何解决这个问题吗在java中如何在Char数组中存储字符串值。。?,java,string,swing,Java,String,Swing,我必须在固定字符数组中存储字符串值,我尝试过,但在存储值后,字符数组大小的更改取决于字符串值。。。有人能告诉我如何解决这个问题吗 char[] uniqueID = new char[10]; String lUniqueID = mUniqueIdTxtFld.getText(); uniqueID = lUniqueID.toCharArray(); O/p: 但是我需要[1,2,D,,,,,,,] (ie)固定字符数组,不应更改。。任何人都可以告诉我这有什么问题。使用这种方法 并从
char[] uniqueID = new char[10];
String lUniqueID = mUniqueIdTxtFld.getText();
uniqueID = lUniqueID.toCharArray();
O/p:
但是我需要[1,2,D,,,,,,,]
(ie)固定字符数组,不应更改。。任何人都可以告诉我这有什么问题。使用这种方法
并从uniqueID=lUniqueID.toCharArray()复制字符代码>
到前面创建的大约10个字符长的数组arr
使用这种方法
并从uniqueID=lUniqueID.toCharArray()复制字符代码>
到前面创建的大约10个字符长的数组arr
当前的问题是在执行uniqueID=lUniqueID.toCharArray()时
您正在为uniqueID
分配一个新的字符数组,而不是将其内容分配到先前定义的数组中
您想要实现的目标可以通过使用
当前的问题是在执行uniqueID=lUniqueID.toCharArray()时
您正在为uniqueID
分配一个新的字符数组,而不是将其内容分配到先前定义的数组中
您想要实现的目标可以通过使用
以下是片段:
char[] uniqueID = new char[10];
String lUniqueID = mUniqueIdTxtFld.getText();
char[] compactUniqueID = lUniqueID.toCharArray();
System.arraycopy(compactUniqueID, 0, uniqueID, 0, compactUniqueID.length);
以下是片段:
char[] uniqueID = new char[10];
String lUniqueID = mUniqueIdTxtFld.getText();
char[] compactUniqueID = lUniqueID.toCharArray();
System.arraycopy(compactUniqueID, 0, uniqueID, 0, compactUniqueID.length);
你可以试试这个:
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));
}
你可以试试这个:
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));
}
您是否尝试过yourString.getChars(params)方法
您是否尝试过yourString.getChars(params)方法
char是一种基本类型。默认情况下,字符数组用0填充。因此,您将得到'1','2','D',0,0,0,0,0,0
。你为什么要那样?你想达到什么目的?谢谢回复。。我想用我理解的固定大小存储字符串值。但是为什么呢?重点是什么?字符串值以固定大小写入文件。那么,为什么不写入字符串,然后使用循环写入缺少的N个空白字符呢?char是一种基本类型。默认情况下,字符数组用0填充。因此,您将得到'1','2','D',0,0,0,0,0,0
。你为什么要那样?你想达到什么目的?谢谢回复。。我想用我理解的固定大小存储字符串值。但是为什么呢?重点是什么?该字符串值以固定大小写入文件。那么,为什么不写入该字符串,然后使用循环写入缺少的N个空白字符?这不会在目标数组中指定0作为填充,而是“”作为填充。这不会在目标数组中指定0作为填充,但实际上是。比ZouZou提供的Arrays.copyOf提示更麻烦,后者也满足“0s作为填充”要求。比ZouZou提供的Arrays.copyOf提示更麻烦,后者也满足“0s作为填充”要求。
lUniqueId.getChars(0,uniqueID.length,uniqueID, 0);