public class Typecast {
public static void main(String[] args) {
int a=0;
boolean b=(boolean)a;
System.out.println(b);
}
}
Это дает мне ошибку «Невозможно преобразовать int в логическое значение». Может кто-нибудь помочь?
Это не глупый вопрос (просто дубликат). Для int to boolean проверьте ответ @Andy Turners. Для логического значения int вы можете использовать тернарный оператор: b? 1: 0
Отвечает ли это на ваш вопрос? Несоответствие типов: невозможно преобразовать целое число в логическое




Не каждый тип может быть преобразован в другой. int - boolean - один из тех, которые не разрешены в Java. Спецификация языка Java объясняет, что возможно, а что нет.
Вы не можете преобразовать целое число в логическое значение в java. int - это примитивный тип, значение которого находится в диапазоне от -2 147 483 648 до 2 147 483 647, тогда как boolean имеет значение true или false. Таким образом, преобразование числа в логическое значение (истина или ложь) не имеет смысла и не допускается в java.
Вам нужно проверить основные типы данных в java, что даст вам больше ясности.
Вы не можете преобразовать int в логическое значение; но вы можете сравнить это int с другим числом, и это выражение сравнения будет иметь логический тип, например:
boolean b = (a != 0);
Каковы ваши мысли здесь? Что именно вы пытаетесь сделать?
Вы думаете, что 0 будет преобразовано в false, а 1 будет преобразовано в true, как в двоичном формате? Как уже упоминалось, целое число является числовым типом данных и может быть приведено только к другим числовым значениям.
Его также можно преобразовать в строку с помощью классов-оболочек. Т.е.: Строка str = Integer.toString (a)
Если вы пытаетесь преобразовать нули в логические, попробуйте эту строку кода, чтобы заменить строку 3:
б = (а! = 0);
если ты
/*
Usually we represent true by 1 and false by 0. In JAVA a boolean-typed variable can only be false or true, not null.
The input is an integer so it could be a number different than 0 or 1.
To handle the input of such a number,
I choose to make it return false for less than 0 and true for greater than 1.
*/
public static boolean int2bool(int val) {
if (val <= 0) return false;
return true;
}
Нет смысла отвечать на неправильный вопрос. Вы можете либо отметить вопрос как неправильный, либо пропустить его.
@Ifesinachi Bryan Вопросы по определению не могут ошибаться.
@einUsername, у меня плохо. Неправильное использование дикции.
A Boolean value is one with two choices- true or false, yes or no, 1 or 0.
Boolean can't be type casted into any other data type.
Добро пожаловать в stack overflow! Кажется, вы добавляете дополнительные пояснения к существующим ответам, используя цитату, и это хорошо! Однако было бы еще лучше, если бы вы могли указать, откуда вы взяли эту цитату, и добавить на нее ссылку, которая поможет читателям оценить ценность и применимость цитаты. См. Также этот пост с советами по написанию хороших ответов. Удачи!
В Java int никогда не может быть логическим. Чего вы на самом деле пытаетесь достичь?