Someone told me in the case of int instead of char: because char in java has a length of only 2 bytes, which is ok with most character characters that are already in use, but for certain character characters (Chinese or any other) the character appears more than in 2 bytes, and therefore we use int instead.
Assuming that at this moment you are talking specifically about a method Reader.read(), the statement from "someone" that you recounted is actually incorrect .
, Unicode 65535 Java char. API Reader Java char ( -1), Unicode. javadoc.
( ) Unicode, 65535, read(), . , , UTF-16; Java char, . , , Java String, StringBuilder StringBuffer; UTF-16... .
, Reader.read() int a char, -1, , . , InputStream.read() int a byte.
, , Java , read() , " ". , ( ) ( ). , , / . , , .
( 16- API Reader read(char[], ...). 65535, ?)
DataOutputStream.writeChar(int) . javadoc , 2 . .
, . , (4957024), "11-, " :
" , , ".
... , , , .
, , .