【问题标题】:How to use String.substring if the index value is beyond Integer?如果索引值超出整数,如何使用 String.substring?
【发布时间】:2014-09-14 01:27:14
【问题描述】:

通常,我使用String.sustring(int, int) 方法来获取文本的某些部分。 如果文本太大,我无法使用整数类型变量访问某个位置, 有什么办法解决这个问题?

例如:

我想使用String.substring(Long, Long)

【问题讨论】:

  • 这里的两个答案似乎是正确的,但我天生怀疑任何需要这么大字符串的代码。考虑使用流或文件是否允许更高效的代码。请记住,一台现代低端计算机仍然只有大约 4 GB - 如果你用一个变量来占其中的一半,那就令人担忧了。
  • @raptortech97 作为 char 对象的数组,每个对象有 2 个字节,长度为 Integer.MAX_VALUEString 实际上会消耗 4 GB。
  • 已经是 4 月 1 日了吗??

标签: java string substring long-integer


【解决方案1】:

int的大小最大为2147483647。你的起始和结束索引的值不会超过指定的索引。

【讨论】:

    【解决方案2】:

    字符串的长度不能超过 Integer.MAX_VALUE,因为字符串是用 char 的数组表示的,Java 数组的长度不能超过这个值。查看 StringBuilder 类以获得更长的字符串。

    【讨论】:

    猜你喜欢
    • 2021-07-17
    • 2022-10-22
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    相关资源
    最近更新 更多