相关疑难解决方法(0)

"text"和new String("text")之间有什么区别?

这两个陈述之间有什么区别?

String s = "text";

String s = new String("text");
Run Code Online (Sandbox Code Playgroud)

java string

187
推荐指数
4
解决办法
7万
查看次数

什么是Java字符串池以及"s"与新String("s")有何不同?

String Pool是什么意思?以下声明之间有什么区别:

String s = "hello";
String s = new String("hello");
Run Code Online (Sandbox Code Playgroud)

JVM存储这两个字符串有什么区别吗?

java string

111
推荐指数
5
解决办法
6万
查看次数

Java的String常量池在哪里存在,堆还是堆栈?

我知道常量池的概念和JVM用来处理String文字的String常量池.但我不知道JVM使用哪种类型的内存来存储String常量文字.堆栈还是堆?由于它是一个与任何实例无关的文字,我会认为它将存储在堆栈中.但是如果它没有被任何实例引用,那么必须通过GC运行收集文字(如果我错了,请纠正我),那么如果它存储在堆栈中怎么处理呢?

java string jvm

99
推荐指数
6
解决办法
10万
查看次数

在Java中定义常量字符串?

我有一个常量字符串列表,我需要在我的Java程序中的不同时间显示.

在CI中可以在我的代码顶部定义这样的字符串:

#define WELCOME_MESSAGE "Hello, welcome to the server"
#define WAIT_MESSAGE "Please wait 5 seconds"
#define EXIT_MESSAGE "Bye!"
Run Code Online (Sandbox Code Playgroud)

我想知道在Java中做这种事情的标准方法是什么?

java string

59
推荐指数
6
解决办法
15万
查看次数

java中的可变和不可变String之间有什么区别

据我所知,

可以更改可变字符串,并且不能更改不可变字符串.

在这里,我想像这样更改String的值,

String str="Good";
str=str+" Morning";
Run Code Online (Sandbox Code Playgroud)

和其他方式是,

StringBuffer str= new StringBuffer("Good");
str.append(" Morning");
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我试图改变其价值str.任何人都可以告诉我,这两种情况有什么不同,并给我清晰的可变和不可变对象的图片.

java string mutable stringbuffer immutability

48
推荐指数
4
解决办法
12万
查看次数

字符串文字是否存储在堆栈中?新的String是否存储在堆栈中?

可能重复:
字符串对象和字符串文字之间的差异

假设我有两个陈述.

String one = "abc";
String two = new String("abc");
Run Code Online (Sandbox Code Playgroud)

哪一个是堆栈内存并存储在堆中?

这两者有什么区别?

创建了多少个对象以及内存中的引用如何?

什么是最佳做法?

java heap stack memory-management

30
推荐指数
3
解决办法
4万
查看次数

Java == for String对象停止工作?

  public class Comparison {
        public static void main(String[] args) {
            String s = "prova";
            String s2 = "prova";
            System.out.println(s == s2);
            System.out.println(s.equals(s2));
        }
    }
Run Code Online (Sandbox Code Playgroud)

输出:

true
true
Run Code Online (Sandbox Code Playgroud)

在我的机器上.为什么?不应该==比较对象引用相等?

java

11
推荐指数
3
解决办法
981
查看次数

通过字符串文字与初始化程序的Swift字符串

在Java等其他语言中,实际上通过字符串文字与初始化程序获得的字符串之间存在差异.在Swift中,它们在引擎盖下是等同的吗?

例如

var string:String = ""
var string:String = String()
Run Code Online (Sandbox Code Playgroud)

有关Java中文字和对象之间差异的信息,请参阅此SO帖子.

string string-literals swift

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

return(string expr)和返回New String(string expr)之间有什么区别?

这两种方法有区别吗?

public String toString() {
    return this.from.toString() + this.to.toString();
}

public String toString() {
    return new String(this.from.toString() + this.to.toString());
}
Run Code Online (Sandbox Code Playgroud)

(当然,假设from.toString()to.toString()方法正在返回字符串).

基本上我对Java中的字符串处理感到困惑,因为有时字符串被视为基本类型,即使它们是类实例.

java string types class object

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

当引用不同时,为什么引用相等性检查返回true

考虑以下代码:

fun main(args : Array<String>) {
    println("Async" == MetricCategory.Async.toString())
    println("Async" === MetricCategory.Async.toString())
}
Run Code Online (Sandbox Code Playgroud)

它输出

true
true
Run Code Online (Sandbox Code Playgroud)

虽然我在期待

true
false
Run Code Online (Sandbox Code Playgroud)

为什么true打印第二次检查,因为两个参考不同

kotlin

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