【发布时间】:2017-06-14 13:34:34
【问题描述】:
我正在尝试创建一个使用两个字符串的方法。它会将字符串 1 与字符串 2 进行比较,并将所有未找到的字符替换为“_”。例如,如果 String 1 = "Hello"; String 2 = "eo" 然后该方法将返回 String 1 作为 "_e__o" 这是我的代码:
static String getRevealedChars (String s1, String s2)
{
for (int i = 0; i < s1.length(); i++)
{
for (int c = 0; c < s2.length(); c++)
{
if (s1.charAt(i) == s2.charAt(c))
{
break;
}
else
{
// this is where I get my Error
s1.charAt(i) = '_';
}
}
}
}
但是,当我运行此代码时,我在 s1.charAt(i) = '_'; 处收到“意外类型”错误。我真的是java新手,在此先感谢。
【问题讨论】:
-
s1.charAt(i) = '_';无效。 -
关键点 -
String对象是不可变的。因此,您无法更改您的String原位 - 您必须创建一个全新的String才能返回。您可能会发现构建char[]并在最后将其转换为String是最简单的方法。 -
如何将 char 数组转换为 String?
-
new String(yourCharArray); -
我尝试创建一个数组,但我不知道如何继续将 char 值添加到数组中
标签: java