Сравнение символов в Java
прошло некоторое время с тех пор, как я делал Java, поэтому мой синтаксис не самый большой на данный момент.
Я хочу проверить, что переменная char является одним из 21 конкретных символов, каков самый короткий способ сделать это?
похоже, не работает. Нужно ли мне писать это так:
12 ответов
Если ваш вход является символом, и символы, которые вы проверяете, в основном последовательны, вы можете попробовать следующее:
однако, если ваш ввод является строкой, более компактный подход (но медленнее) заключается в использовании регулярного выражения с классом символов:
Если у вас есть персонаж вам сначала нужно преобразовать его в строку, прежде чем вы можете использовать регулярное выражение:
Если вы заранее знаете все свои 21 символ, вы можете записать их все как одну строку, а затем проверить ее следующим образом:
Я думаю, что это самый короткий путь.
первое утверждение, которое у вас есть, вероятно, не то, что вы хотите. ‘A’|’B’|’C’ фактически выполняет побитовую операцию:)
Если 21 символ является «последовательным», вышеуказанные решения в порядке.
Если вы не сможете заранее вычислить хэш-набор допустимых символов и сделать что-то вроде
How to Compare Characters in Java
In this tutorial, I will be sharing how to compare characters in java. Characters can be a char primitive data type or Character wrapper class. Let’s dive deep into the topic:
1. Comparing char primitives
1. Using <, >, == operators
Based on the Unicode table, the char primitive data type also has the associated integer value. Using ==, <, > operators you should be able to compare two characters just like you compare two integers.
Output:
false
true
true
2. Using Character.compare(char x, char y)
We can compare the char values numerically by using compare(char x, char y) method of Character class.
According to Java docs,
The compare(char a, char b) method of Character class returns the following values:
0, if (a == b)
value less than 0, if a < b
value greater than 0, if a > b
2. Comparing Character objects
You can compare Character class objects:
1. Using Character.compare(char x, char y)
Using Character class constructor, we can convert the char primitive value to the Character object.
Output:
1
0
-1
2. Using equals() method
Using equals() method also we can compare the Character class objects.
Output:
false
false
true
That’s all for today, please mention in comments in case you have any questions related to how to compare characters in java.
Изучаем Java: сравнение строк
Класс String Java содержит ряд методов для сравнения строк. Ниже приведены некоторые методы класса string java:
- Оператор == ;
- Метод equals() ;
- equalsIgnoreCase ;
- Метод compareTo() .
Java string методы — использование оператора ==
Оператор == проверяет ссылки, а не значения. Это означает, что он проверяет, являются ли сравниваемые элементы одним и тем же объектом. Если две переменные String указывают на один и тот же объект в памяти, сравнение возвращает true . В противном случае — false :
Здесь литералы интернируются компилятором и таким образом ссылаются на один и тот же объект:
Приведенные выше переменные String указывают на разные объекты:
Приведенные выше переменные String также указывают на разные объекты.
Оператор ‘==’ не сравнивает строки в java, а только ссылки, на которые они строки.
Метод String equals()
В Java сравнение строк equals проверяет исходное содержимое строки. Он возвращает true , если параметр — это объект String , который представляет собой ту же строку символов, что и объект:
Если нужно проверить, имеют ли две строки одинаковое значение, можно использовать Objects.equals() .
String equalsIgnoreCase
Метод equalsIgnoreCase() осуществляет Java сравнение строк лексикографически, игнорируя различия регистра. Значение true возвращается только тогда, когда аргумент является объектом String , который представляет ту же последовательность символов, что и объект. Если нужно проверить строки на равенство без учета регистра, лучше использовать метод equalsIgnoreCase класса String .
Метод String compareTo()
Метод compareTo() используется, когда нужно определить порядок строк лексикографически. Он сравнивает значения char аналогично методу equals() . Если две строки точно совпадают, метод compareTo() вернет значение 0 ( результат = 0 ). При сравнении двух строк Java он возвращает положительное ( результат > 0 ) целое число, если первый объект String следует за второй строкой. Метод compareTo() возвращает отрицательный результат ( результат < 0 ), если первый объект String предшествует второй строке:
Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, лайки, подписки, отклики, дизлайки низкий вам поклон!
Пожалуйста, оставляйте ваши отзывы по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, лайки, отклики, подписки!