#java
#java
Вопрос:
if(pro_name.getText() amp;amp; pro_price.getText() amp;amp; pro_count.getText())
{
}
Я получаю ошибку в eclipse java
Оператор amp;amp; не определен для типов аргументов java.lang.Строка, java.lang.Строка
Комментарии:
1. Можете ли вы предоставить более подробное описание того, чего вы пытаетесь достичь.
Ответ №1:
if (!pro_name.getText().isEmpty()
amp;amp; !pro_price.getText().isEmpty()
amp;amp; !pro_count.getText().isEmpty())
Условия строго требуют логического выражения в Java.
Ответ №2:
amp; Оператор amp; допустим для проверки логических значений
if(pro_name.getText()=="abc" amp;amp; pro_price.getText().isEmpty() amp;amp; pro_count.getText().equals("mango")){ }
приведенный выше пример одного…это не приведет к ошибкам компиляции.
isEmpty()
, equals()
, equalsIgnoreCase()
contains()
==> это допустимые операции со строками, каждая из них возвращает логические значения ( true
или false
)
==
это проверяет равенство и, следовательно, возвращает логическое значение true или false
Ответ №3:
здесь getText()
возвращается String
, а в Java amp;amp;
оператор определен только для boolean
, а не для String
.
Вот почему eclipse показывает эту ошибку.
Ответ №4:
Вы можете использовать оператор amp;amp; (AND) только для логических значений. .getText() возвращает строку, которая не является логическим значением. Для этого вам нужно выполнить проверку, которая возвращает логическое значение, например:
if(!pro_name.getText().isEmpty() ...)
То есть, если ответ из getText() не равен нулю, он будет переведен в true. и сравнение tjhe amp;amp; будет работать.
Совет заключается в том, чтобы установить переменную в ответ из getText(), чтобы вы могли использовать его повторно, вместо того, чтобы позже (я предполагаю) вы снова получили текст. Т. е.:
var pro_name_result = pro_name.getText();
if(!pro_name_result.isEmpty() ...) {