Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中如何在Char数组中存储字符串值。。?_Java_String_Swing - Fatal编程技术网

在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);