Что касается пустого суждения Стринга:
Скопируйте код, и код будет выглядеть следующим образом:://Это правильно
if (выбор != null && !selection.equals("")) {
гдеПредложение += выбор;
}
//Это неправильно
if (!selection.equals("") && choice != null) {
гдеПредложение += выбор;
}
Примечание: «==" сравнивает значения самих двух переменных, то есть первые адреса двух объектов в памяти. А «equals()» сравнивает, является ли содержимое строки одинаковым. При втором способе записи, как только выбор действительно станет нулевым, об исключении нулевого указателя будет сообщено непосредственно при выполнении метода равенства, и выполнение не будет продолжено.
Определите, является ли строка числом:
Скопируйте код кода следующим образом:
// Вызов функции, которая поставляется с Java
public static boolean isNumeric(String Number) {
for (int i = number.length(); --i >= 0;) {
if (!Character.isDigit(number.charAt(i))) {
вернуть ложь;
}
}
вернуть истину;
}
// Используем регулярные выражения
public static boolean isNumeric(String Number) {
Шаблон шаблона = Pattern.compile("[0-9]*");
вернуть шаблон.matcher(str).matches();
}
//Используем код ASCII
public static boolean isNumeric(String Number) {
for (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
если (chr < 48 || chr > 57)
вернуть ложь;
}
вернуть истину;
}