30/09/2018, 18:13
Hỏi về hàm split String trong Java
Cho mình hỏi vì sao phép so sánh cuối cùng lại trả về false trong khi in ra thì giống nhau ?
public static void main(String [] args) {
String name = "Day Nhau Hoc";
String [] arr = name.split("");
System.out.println(arr[0]);
String n = "D";
System.out.println(arr[0] == n);
}
Bài liên quan
Debug là bạn sẽ thấy, nó là arr[1], hơn nữa
== là so sánh object không phải value.2 object đó khác nhau nên ra sai. Dùng equal ấy.
Kiểu String không so sánh như thế được, theo như cách bạn làm là so sánh 2 địa chỉ chứ không phải so sánh 2 giá trị. Toán tử
==
chỉ áp dụng cho cácprimitive type
.Muốn so sánh 2 giá trị String như trên thì phải làm thế này
arr[0].equals("D")
Cám ơn các bạn nhé