【问题标题】:How to Store the String Value in Char array in java..?java中如何将字符串值存储在Char数组中?
【发布时间】:2014-04-24 11:23:58
【问题描述】:

我必须将字符串值存储在固定的 char 数组中,我尝试过,但是在存储值 char 数组后,更改的大小取决于字符串值...谁能告诉我如何解决这个问题..

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 数组,它不应该改变。任何人都建议我这样做有什么问题。

【问题讨论】:

  • char 是原始类型。 char 数组默认填充为 0。所以,你会得到'1','2','D',0,0,0,0,0,0,0。你为什么要那个?你想达到什么目的?
  • 感谢回复.. 我想以固定大小存储字符串值
  • 我明白了。但为什么?有什么意义?
  • 该字符串值以固定大小写入文件。
  • 那么,为什么不写字符串,然后用循环写出N个缺失的空白字符呢?

标签: java string swing


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    使用这个方法

    System.arraycopy

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

    【讨论】:

    • 比 ZouZou 的 Arrays.copyOf 提示稍微麻烦一点,也符合“0s as padding”的要求。
    【解决方案3】:

    你可以试试这个:

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

    【讨论】:

    • 这不会在目标数组中填充 0,而是 ' '。
    【解决方案4】:

    这里是sn-p:

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-01
        • 2019-10-13
        相关资源
        最近更新 更多