Tôi gặp vấn đề mà tôi khá bối rối. Tôi có dòng mã sau đây trong ứng dụng Android của tôi:Chuỗi dường như không bằng nhau trong Java trên Android, mặc dù chúng in giống nhau
System.out.println(CurrentNode.getNodeName().toString());
if (CurrentNode.getNodeName().toString() == "start") {
System.out.println("Yes it does!");
} else {
System.out.println("No it doesnt");
}
Khi tôi nhìn vào kết quả của báo cáo kết quả println đầu tiên nó xuất hiện trong LogCat như "bắt đầu" (không có dấu ngoặc kép rõ ràng). Nhưng sau đó khi câu lệnh if thực thi nó đi đến câu lệnh khác và in "No it doesn't".
Tôi tự hỏi nếu tên của nút có thể có một số loại ký tự không in trong đó, vì vậy tôi đã kiểm tra độ dài của chuỗi đến từ getNodeName() và dài 5 ký tự, như bạn mong đợi .
Có ai có ý tưởng gì đang xảy ra ở đây không?
Điều gì sẽ là kết quả của 'CurrentNode.getNodeName(). ToString(). Equals (" start ") ==" start ".equals (CurrentNode.getNodeName(). ToString()'? –
@MohammedShareefC I ' d mong đợi 'đúng', nhưng bạn có thể kiểm tra nó để tìm hiểu –
yup Xin lỗi vì đã quá lười biếng –