相关疑难解决方法(0)

Java Strings何时实施?

受到关于这个问题的评论的启发,我很确定Java String是在运行时而不是编译时间实现的 - 当然,事实上可以在不同的时间编译类,但在运行时仍然会指向相同的引用.

我似乎无法找到任何证据支持这一点.谁能证明这一点?

java string

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

java中的字符串空构造函数

我正在查看String API,突然我遇到一个String空构造函数,即我们可以使用构造一个空的String对象 String s = new String()

我想知道它有用吗?

java string

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

String初始化差异

首先道歉,如果这是一个非常基本的问题,我只是想知道以下字符串定义之间的区别

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

我知道在java中,String是一个类,它既不是原始也不是包装器(如果这是一种误解,请纠正我).考虑一个A类,到目前为止我已经看过任何类的以下声明.我认为A c;是有效的,A a = new A();也是有效的.我很困惑A a ="xyz";这就是我们如何在上面的第一种类型的定义中声明一个String.我确信上面两个定义是完全不同的,就像我说它x==y返回false.我知道y是对String对象的引用.什么是x,它是如何存储在内存中的,有趣的是我发现x和y都可以访问String类的所有方法.

那么一个人的优势是什么呢.我知道每个人的适用性.

java memory-management

5
推荐指数
2
解决办法
2091
查看次数

如果在字符串常量池区域中创建(或已经存在)相同的字符串文字,那么在堆中创建重复的String对象有什么好处?

String str = new String(“my literal”);
Run Code Online (Sandbox Code Playgroud)

在上面的语句中,将创建两个对象,一个作为字符串常量池中的字符串文字"my literal"(如果它不存在于字符串池中),另一个作为对象字符串("my literal")在堆区域中创建

Q-1我知道将字符串文字放在字符串池区域中的好处,但我无法想到在堆中创建重复对象的好处?

Q2-当我在一些堆栈中读取流链接时:如果使用新的String("我的文字")几乎总是坏的,因为你将在String常量池上创建2个字符串,而在具有相同值的堆上创建另一个字符串,那么我的问题是为什么Java在堆中创建重复对象?为什么java只是忽略在堆中创建?

java string

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

标签 统计

java ×4

string ×3

memory-management ×1