Я не могу преобразовать int в логическое значение в Java в следующем коде

public class Typecast {

    public static void main(String[] args) {
        int a=0;
        boolean b=(boolean)a;
        System.out.println(b);
    }
}

Это дает мне ошибку «Невозможно преобразовать int в логическое значение». Может кто-нибудь помочь?

В Java int никогда не может быть логическим. Чего вы на самом деле пытаетесь достичь?

Makoto 14.10.2018 07:14

Это не глупый вопрос (просто дубликат). Для int to boolean проверьте ответ @Andy Turners. Для логического значения int вы можете использовать тернарный оператор: b? 1: 0

einUsername 12.06.2020 15:30
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
5 517
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Не каждый тип может быть преобразован в другой. 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 27.03.2020 22:50

@Ifesinachi Bryan Вопросы по определению не могут ошибаться.

einUsername 12.06.2020 15:07

@einUsername, у меня плохо. Неправильное использование дикции.

Ifesinachi Bryan 12.06.2020 16:03

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! Кажется, вы добавляете дополнительные пояснения к существующим ответам, используя цитату, и это хорошо! Однако было бы еще лучше, если бы вы могли указать, откуда вы взяли эту цитату, и добавить на нее ссылку, которая поможет читателям оценить ценность и применимость цитаты. См. Также этот пост с советами по написанию хороших ответов. Удачи!

Matthijs Kooijman 28.03.2020 09:51

Другие вопросы по теме