So sánh 2 ký tự (char) không phân biệt chữ hoa hay thường – Cộng đồng Java Việt Nam | Java Việt Nam | Java SE, Java EE, Android, Spring Framework

Trích dẫn từ nttai:
:)

kiểu char do nó so sánh giá trị ASCII của kí tự nên phải đổi về UpperCase hoặc LowerCase cho đồng nhất mới cùng giá trị ASCII mới chính xác được

Click to expand…

Fully correct.

Trích dẫn từ lttai:
aA

PHP:

    public static void main(String args[]) {
        char a = 'a';
        char b = 'A';
        System.out.println(a == b ? "true" : "false");
    }

false

Mình muốn so sánh 2 ký tự này không phân biệt chữ hoa hay thường mà ko phải ép kiểu về String. Vì String có equalignorecase ý.

Mong các bạn giúp đỡ.

Mình co đoạn code so sánh 2 ký tự kiểu char làvàVà tất nhiên kết quả trả về làMình muốn so sánh 2 ký tự này không phân biệt chữ hoa hay thường mà ko phải ép kiểu về String. Vì String có equalignorecase ý.Mong các bạn giúp đỡ.

Click to expand…

The basics of Computer Science are: For a computer (here Java) there’s NO type but only binary value: Char or byte or int or short or whatever is always valued by its binary content. Example:

PHP:

char a = 'A';
byte b = 0x41;
int i = 0x41;
short s = 0x41;
System.out.println((a==(char)b)+"<>"+(a==(char)i)+"<>"+(a==(char)s));

Fully correct.The basics of Computer Science are: For a computer (here Java) there’s NO type but only binary value: Char or byte or int or short or whatever is always valued by its binary content. Example:You’ll get 3x true. Therefore if a = ‘a’ and A = ‘A’ you have to consider the values. Example: A is 0x41, a is 0x61 –> (A&0x4F) == (a&0x4F) will produce a true.