Tôi đang phải đối mặt với một vấn đề với dòng này (bình luận dưới đây):Bắt đầu ra lạ khi in kết quả của một chuỗi so sánh
System.out.println("Using == ::"+s3==s4)
mà kết quả đầu ra false
.
Tuy nhiên, System.out.println(s3==s4)
kết quả đầu ra true
.
Bây giờ, tôi không thể hiểu tại sao tôi nhận được kết quả này:
public class string {
public static void main(String[] args){
String s3="Shantanu";
String s4=s3;
String s1=new String("java");
String s2=new String("javaDeveloper");
System.out.println("Using Equals Method::"+s1.equals(s2));
System.out.println("Using Equals Method::"+s3.equals(s4));
System.out.println("Using == ::"+s3==s4);//Problem is here in this line
System.out.println(s1+"Directly printing the s2 value which is autocasted from superclass to string subclass ");
System.out.println("Directly printing the s1 value which is autocasted from superclass to string subclass "+s2);
System.out.println(s3);
}
}
Output-Using Equals Method::false Using Equals Method::true Using == ::false java Directly printing the s2 value which is autocasted from superclass to string subclass Directly printing the s1 value which is autocasted from superclass to string subclass javaDeveloper
@roippi bạn là một ông chủ tóc nhọn? ? – jsedano
Đầu ra của bạn không nhất quán với mã của bạn. Dòng thứ ba chỉ nên là 'false'. – arshajii
Vui lòng kiểm tra xem kết quả đã đăng của bạn có đúng không. Rõ ràng là các ký tự đầu "Output-" sẽ không xuất hiện ở đó. Ngoài ra, lệnh gọi 'println' cuối cùng không được hiển thị in' s3' và đường giữa bị nghi ngờ. –