Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的字符串缓冲区 导入java.lang.*; 同学们好 { 公共静态字符串参数[] { StringBuffer s3=新的StringBufferR; 字符串s1=Rahul; char ch=s1.charAt0; System.out.printlns3.toString.equalsch; } }_Java_String - Fatal编程技术网

java中的字符串缓冲区 导入java.lang.*; 同学们好 { 公共静态字符串参数[] { StringBuffer s3=新的StringBufferR; 字符串s1=Rahul; char ch=s1.charAt0; System.out.printlns3.toString.equalsch; } }

java中的字符串缓冲区 导入java.lang.*; 同学们好 { 公共静态字符串参数[] { StringBuffer s3=新的StringBufferR; 字符串s1=Rahul; char ch=s1.charAt0; System.out.printlns3.toString.equalsch; } },java,string,Java,String,输出应为真,但显示为假。请提供帮助。如果类型不同,则大多数等号的ovverriding不会返回true 字符串的equals实现如下所示: 1012 public boolean equals(Object anObject) { 1013 if (this == anObject) { 1014 return true; 1015 } 1016 if (anObject instanceof String) {

输出应为真,但显示为假。请提供帮助。

如果类型不同,则大多数等号的ovverriding不会返回true

字符串的equals实现如下所示:

1012    public boolean equals(Object anObject) {
1013        if (this == anObject) {
1014            return true;
1015        }
1016        if (anObject instanceof String) {
               ...
1030        }
1031        return false;
1032    }
在这里,由于需要一个对象,您正在比较一个字符串和一个字符的自动装箱

您可以做的是确保将字符串与字符串进行比较:

    System.out.println(s3.toString().equals(""+ch));
或者简单地比较字符,因为您知道ch是一个字符:

    System.out.println(s3.charAt(0)==ch);
如果类型不同,则大多数equals的ovverriding不会返回true

字符串的equals实现如下所示:

1012    public boolean equals(Object anObject) {
1013        if (this == anObject) {
1014            return true;
1015        }
1016        if (anObject instanceof String) {
               ...
1030        }
1031        return false;
1032    }
在这里,由于需要一个对象,您正在比较一个字符串和一个字符的自动装箱

您可以做的是确保将字符串与字符串进行比较:

    System.out.println(s3.toString().equals(""+ch));
或者简单地比较字符,因为您知道ch是一个字符:

    System.out.println(s3.charAt(0)==ch);

它与StringBuffer无关,因为您将字符串R与字符“R”进行比较。

它与StringBuffer无关,因为您将字符串R与字符“R”进行比较。

您将字符串R与字符“R”进行比较,根据Java,字符“R”不相等,因为类型不匹配。

您正在将字符串R与字符“R”进行比较,根据Java,字符“R”不相等,因为类型不匹配。

您正在检查字符串s2.toString和字符ch之间的相等性。因此,它返回了false。对于相等性检查,您应该首先将char键入String。 您可以使用以下代码:

System.out.println(s3.toString().equals(String.valueOf(ch)));

您正在检查字符串s2.toString和字符ch之间的相等性。因此,它返回了false。对于相等性检查,您应该首先将char键入String。 您可以使用以下代码:

System.out.println(s3.toString().equals(String.valueOf(ch)));

@Juvanis:它根据String.equalsObject参数和字符到字符的自动装箱进行编译。param不限于字符串。@Steph刚刚注意到,对不起=另外,更喜欢StringBuilder而不是StringBuffer。@Juvanis:它根据String.equalObject参数和字符到字符的自动装箱进行编译。param不限于字符串。@Steph刚刚注意到,对不起=此外,更喜欢StringBuilder而不是StringBuffer。