String name1 = editText1.getText().toString();
String name2 = editText2.getText().toString();
Để so sánh particul ar char
s trong Chuỗi của bạn, bạn có thể sử dụng phương thức char charAt(int)
cũng từ loại String
. Dưới đây là ví dụ sử dụng:
if(name1.charAt(2) == name2.charAt(0)){
// Do your stuff
}
Bạn phải nhớ rằng char charAt(int)
là zero-based nên 0 là lần đầu tiên, 1 là thứ hai và vân vân. Và trong ví dụ này, bạn có thể thấy rằng tôi đã so sánh hai ký tự giống như tôi so sánh các ví dụ int
- với đơn giản ==
.
So sánh toàn bộ String
s:
// This returns true if Strings are equal:
name1.contentEquals(name2);
// This returns 0 if Strings are equal:
name1.compareTo(name2);
Để làm cho nó phân biệt dạng chữ bạn có thể sử dụng phương pháp từ String
loại toLowerCase()
trên cả String
s.
name1.equalsIgnoreCase(name2);
hay:
name1.toLowerCase().contentEquals(name2.toLowerCase());
Nguồn
2012-02-04 18:08:51
charAt() được định nghĩa trong CharSequence và sẽ ít hiệu quả hơn để chuyển đổi chúng thành chuỗi đầu tiên - có lẽ thậm chí không thể (không có ràng buộc trên CharSequence để gợi ý rằng tất cả các ký tự trong nó cần phải có khả năng phù hợp với bộ nhớ) – Jules
Tôi trả lời thứ hai @Jules.Nếu bạn đang so sánh CharSequences, bạn nên thực hiện điều gì đó dọc theo dòng java.util.Arrays.equals (char [], ch ar []) và giữ chúng như CharSequences và sử dụng charAt nơi bạn thấy truy cập mảng. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Arrays.java#Arrays.equals%28char%5B%5D%2Cchar%5B% 5%% 29 – LINEMAN78