【问题标题】:What is the meaning of replace('\0','0')?replace('\0','0') 是什么意思?
【发布时间】:2018-09-10 07:36:18
【问题描述】:

我正在关注一个教程,我遇到了这行代码:

String target = new String(new char[difficulty]).replace('\0', '0');

difficultyint

这条线是做什么的,它是如何工作的?

【问题讨论】:

  • 可以试试\\0
  • @RehanAzher 也许再读一遍问题
  • 您不明白该命令的作用,或者它为什么这样做?搜索 java 中的 String.replace() 是什么,您将理解该命令。如果您不知道该命令的目的,恐怕我无法帮助您。这可能与 C 应用程序使用 \0 来终止字符串行(据我所知)这一事实有关,而 java 没有
  • 它只是创建了一个 String0s、difficulty 字符长。即如果difficulty5,那么target"00000"
  • OK 对问题标题感到困惑,是的@JacobG。是正确的。

标签: java string replace


【解决方案1】:

new char[difficulty] 创建一个长度为 difficulty 的新字符数组。

以这种方式创建的数组元素采用该类型的the default value,对于char,它是0(或'\u0000'\0),即null character

new String(...) 将其转换为长度为difficulty 的字符串(其中每个字符仍具有0 的默认值。

.replace('\0', '0') 将每个字符替换为 '0'Unicode0 字符),从而为您提供一个由 difficulty 字符组成的字符串,这些字符都是 0

【讨论】:

    猜你喜欢
    • 2015-03-20
    • 2020-01-07
    • 2016-06-03
    • 2014-11-06
    • 2018-09-25
    • 2017-10-29
    • 2011-05-25
    • 2010-11-20
    • 1970-01-01
    相关资源
    最近更新 更多