Java имеет пул строк, в котором Java управляет распределением памяти для объектов String. См. String Pools в Java
Когда вы проверяете (сравниваете) два объекта с помощью оператора ==
, он сравнивает равенство адресов в пуле строк. Если два объекта String имеют одинаковые адреса, то он возвращает true
, в противном случае false
. Но если вы хотите сравнить содержимое двух объектов String, вы должны переопределить метод equals
.
equals
- фактически метод класса Object, но он переопределяется в класс String и дается новое определение, которое сравнивает содержимое объекта.
Example:
stringObjectOne.equals(stringObjectTwo);
Но помните, что это относится к случаю String. Если вы хотите сравнить регистр без учета регистра, вы должны пойти для метода equalsIgnoreCase класса String.
Давайте посмотрим:
String one = "HELLO";
String two = "HELLO";
String three = new String("HELLO");
String four = "hello";
one == two; // TRUE
one == three; // FALSE
one == four; // FALSE
one.equals(two); // TRUE
one.equals(three); // TRUE
one.equals(four); // FALSE
one.equalsIgnoreCase(four); // TRUE
Вам нужно будет присвоить метке шрифт, поддерживающий арабский язык
#option1 -- on each TextInput
TextInput:
font_name: "path/to/a/font/that/support/arabic.ttf"
#option2 override for all TextInputs
<TextInput>:
font_name: ...
, предупреждение из docs говорит:
Warning В зависимости от вашего поставщика текста файл шрифтов может быть проигнорирован. Однако вы можете использовать это без проблем. Если в используемом шрифте отсутствуют глифы для определенного языка / символов, которые вы используете, вы увидите «[]» символы пустого поля, а не фактические глифы. Решение заключается в использовании шрифта, который имеет глифы, которые вам нужно отображать. Например, чтобы отобразить unicodechar, используйте шрифт, например freesans.ttf, который имеет глиф.
Config
иCtrl + F
для "default_font". ( файл репо GitHub ) – KeyWeeUsr 12 August 2018 в 21:02