在android / java中,我试图用替换某些字符串中的空格+
,但似乎不起作用。我做错了吗?
String string="Hello world";
string.replace(" ", "+");
String
对象是不可变的,因此该replace
方法不会更改字符串,但会创建一个新的字符串,您必须重新保存它:
String string="Hello world";
string = string.replace(" ", "+");
问题内容: 这是我的代码: 这是输出 显然,标有**的行是意外的。 此问题发生在我的Android手机A(LG P920 Optimus 3D,Android 2.3.3)上。当我在Android手机B(LG E720 Optimus Chic,Android 2.2)上进行测试时,它停止了。我猜想它会陷入无限循环。 我已经用Java 和Java在这两款手机上进行了测试。两者分别导致相同的行为。
问题内容: 例如: 问题答案: 这是因为从索引0 in开始的长度为0的子字符串等于空字符串: 当然,任何字符串的长度为零的 每个 子字符串都等于空字符串。
问题内容: 我对Java中的StringPool感到困惑。我在阅读Java中的String一章时遇到了这个问题。用外行的术语,请帮助我了解StringPool的实际作用。 问题答案: 打印(即使我们不使用方法:比较字符串的正确方法) 当编译器优化你的字符串文字时,它会看到两者s和t具有相同的值,因此你只需要一个字符串对象。这是安全的,因为在中是不可变的。 结果,两者和都t指向同一个对象,节省了一些
据我所知, 可变字符串可以更改,不可变字符串不能更改。 这里我想这样改变字符串的值, 另一种方法是, 在这两种情况下,我都试图改变str的值。谁能告诉我,这两种情况的区别是什么,让我清楚地了解可变和不可变对象。
在Java中,什么与Python的pass等效?我意识到我可以使用continue语句或不完成语句体来实现这种效果,但我喜欢使用pass语句。