【发布时间】:2016-02-10 17:03:36
【问题描述】:
我的代码比较了两个单词之间的相等性。如果字符串相等,它会打印一个值“TRUE”。否则返回false。正在使用 Java "equals" 函数
class k{
public static void main(String args[]){
String s1="Sach";
String s2=word();
String s3=new String("Sach");
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
}
public static String word() {
char[] str=new char[100];
str[0]='S';
str[1]='a';
str[2]='c';
str[3]='h';
String ss=new String(str);
System.out.println(ss);
return ss;
}
}
我需要将一些选定的字母提取到一个数组中并将其转换为字符串。转换后,函数返回字符串。但是比较会导致错误的值。是否有其他方法可以将数组转换为字符串,以便该程序给出正确的结果。
【问题讨论】:
-
虽然它们不一样 -
s2有 96 个尾随'\0'字符。将char[] str = new char[100]更改为char[] str = new char[4]。 -
尝试打印 s2 的长度。你会明白
-
"fetch some selected alphabets" 为什么要获取从 A 到 Z 的字母,或者任何适合所选语言的字母,然后显示一个示例返回
Sach?这 4 个字母不构成 字母表。