java - Java Char 数组有什么用?

标签 java arrays string character

我有一个与下面的 BigInteger class 关联的 Java 代码,

import java.math.BigInteger;

public class Main
{
    public static void main (String[] args)
    {
        BigInteger num = new BigInteger("123456789101112131415");

        String str;
        char []Char = new char[10];

        str = num.toString();
        Char = str.toCharArray();

        System.out.println(str.length());
        System.out.println(Char.length);
    }
}

在该代码中,我有一个 21 位数字的 BigInteger num。我将其转换为 String 然后转换为 Char array 。但我之前指定该 char 数组的长度仅为 10。那么这个 char 数组是如何总共容纳 21 个字符的呢???

我真的误解了事实。

还有一个问题,有没有一种方法可以将 BigIntegers 直接转换为 char 数组? :)

最佳答案

为了回答您的第一个问题,变量 Char(考虑更改变量名称)是对 char 数组的引用。你将它设置为指向一个大小为 10 的数组。但是后来,感谢...

Char = str.toCharArray();

...您正在将引用指向另一个数组。原始数组不再具有与其关联的引用,并且被垃圾收集。

要回答你的第二个问题,你可以在一行中级联函数。

char[] Char = num.toString().toCharArray();

关于java - Java Char 数组有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400901/

相关文章:

java - 抛出异常的单元测试

Java 泛型、扩展泛型和抽象类

java - 使用 Runtime.getRuntime().exec() 重定向不起作用

c# - 在数组中查找值的索引

JSON 数组上的 MySQL 通配符

java - 用 Java 实现 Ragged 2D int 数组金字塔

string - 连接两个字符串,其中第一个字符串最后有一个空格 Matlab

java - 使用 CharToArray 和 foreach 以便根据用户选择增加或减少字母

C: struct->char *: contents changed: 有人能解释一下吗?

java - 将文本拆分为文本末尾有 "spaces"的段落?