相关疑难解决方法(0)

为什么字符串在Java和.NET中不可变?

为什么他们决定在Java和.NET(以及其他一些语言)中使字符串不可变?他们为什么不让它变得可变?

.net java string mutable

189
推荐指数
9
解决办法
4万
查看次数

为什么.NET String是不可变的?

众所周知,String是不可变的.String不可变的原因是什么,StringBuilder类的引入是可变的?

.net c# string immutability

182
推荐指数
8
解决办法
10万
查看次数

为什么 JavaScript 中的 String 是不可变的?

JavaScript 字符串是不可变的。这意味着一旦创建了字符串,就无法对其进行修改。但是,仍然可以根据对原始字符串的操作创建另一个字符串

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structs

我理解不可变的含义,但我需要知道他们为什么这样构建它以及这种不可变方法的价值是什么?

注意:我查阅了一些Java 参考资料,但我不是 Java 开发人员,我无法理解其中的术语(StringPool、hashcode ...)

javascript

5
推荐指数
0
解决办法
867
查看次数

如何用下划线替换斜杠

可能重复:
提示java.lang.String.replace问题?
在Java中使用string.replace()

为什么“ /”不替换为“ _”?

public static void main(String[] args) throws IOException {
    String file = "A/B";
    file.replaceAll("/", "_");
    System.out.println(file);
}
Run Code Online (Sandbox Code Playgroud)

java

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

如何在java中修剪运行时变量的空格?

我有以下一段代码

import java.io.*;
import java.util.*;
class MainDriver{
   public static void main(String aa[]){
        Scanner reader = new Scanner (System.in);
        String name;
        System.out.println("enter your name");
        name = reader.nextLine();
        name.trim();
        System.out.println (name);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在输入中给出空格,我想知道输出

输入

 bayant singh
Run Code Online (Sandbox Code Playgroud)

产量

 bayant singh
Run Code Online (Sandbox Code Playgroud)

那么为什么name.trim;不在这里工作?因为我猜输出是

bayantsingh //no spaces
Run Code Online (Sandbox Code Playgroud)

java string

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

如果我使用方法替换,为什么需要重新定义String?

theString如果我在此代码中使用替换方法,为什么还需要重新定义变量:

String theString = "I w@nt to h@ve the regul@r \"A\"!";
theString = theString.replace("@", "a");
System.out.println(theString);
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样做:

theString.replace("@", "a");
Run Code Online (Sandbox Code Playgroud)

那就是它?

java string replace

1
推荐指数
1
解决办法
479
查看次数

标签 统计

java ×4

string ×4

.net ×2

c# ×1

immutability ×1

javascript ×1

mutable ×1

replace ×1