相关疑难解决方法(0)

不可变的意思是什么?

这可能是有史以来最愚蠢的问题,但我认为这对新手来说完全是一个混乱.

  1. 有人可以澄清不可变的含义吗?
  2. 为什么是String不可改变的?
  3. 不可变对象有哪些优点/缺点?
  4. 为什么一个可变对象StringBuilder比首字母和副词更受欢迎?

一个很好的例子(在Java中)将非常感激.

java string immutability

383
推荐指数
11
解决办法
17万
查看次数

字符串不替换字符

我有一个以字符串形式传入的句子,我正在对"和"这个词进行替换,我想用""替换它.它并没有用空格替换"和"这个词.以下是我的逻辑示例.当我调试它时,逻辑确实属于sentence.replace.

String sentence = "Define, Measure, Analyze, Design and Verify"
if (sentence.contains("and")){
    sentence.replace("and", " ");
}
Run Code Online (Sandbox Code Playgroud)

这里有什么我想念的东西.

java string replace

77
推荐指数
4
解决办法
43万
查看次数

为什么字符串在许多编程语言中是不可变的?

可能重复:
为什么字符串在Java和.NET中不可变?
为什么.NET String是不可变的?

为此选择了几种语言,例如C#,Java和Python.如果它旨在为比较等操作节省内存或提高效率,它对连接和其他修改操作有什么影响?

c++ java string immutability

59
推荐指数
2
解决办法
1万
查看次数

java.lang.String.replace问题的提示?

我想替换"." 通过","在我想写入文件的String/double中.

使用以下Java代码

double myDouble = myObject.getDoubleMethod(); // returns 38.1882352941176
System.out.println(myDouble);

String myDoubleString = "" + myDouble;
System.out.println(myDoubleString);

myDoubleString.replace(".", ",");
System.out.println(myDoubleString);

myDoubleString.replace('.', ',');
System.out.println(myDoubleString);
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

38.1882352941176
38.1882352941176
38.1882352941176
38.1882352941176
Run Code Online (Sandbox Code Playgroud)

为什么不替换做它应该做的事情?我希望最后两行包含",".

我必须做/使用别的东西吗?建议?

java string replace

15
推荐指数
4
解决办法
1万
查看次数

标签 统计

java ×4

string ×4

immutability ×2

replace ×2

c++ ×1