public class Typecast {
public static void main(String[] args) {
int a=0;
boolean b=(boolean)a;
System.out.println(b);
}
}
这给了我一个错误“无法从int转换为boolean”。有人可以帮忙吗?
答案 0 :(得分:1)
/*
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;
}
答案 1 :(得分:0)
并非每种类型都可以转换为另一种类型。 int
至boolean
是Java所不允许的一种。 Java Language Specification解释了什么是不可能的。
答案 2 :(得分:0)
您不能在Java中将整数转换为布尔值。 int是原始类型,其值在-2,147,483,648至2,147,483,647范围内,而布尔型为true或false。因此,将数字强制转换为布尔值(真或假)没有任何意义,并且在Java中是不允许的。
您需要检查Java中的基本数据类型,这将使您更加清楚。
答案 3 :(得分:0)
您不能将int转换为布尔值;但是您可以将该int与另一个数字进行比较,并且该比较表达式将为布尔类型,例如:
boolean b = (a != 0);
答案 4 :(得分:0)
您在这里的思路是什么?您到底想做什么?
您是否想像二进制中的0将强制转换为false,将1强制转换为true?就像其他人提到的那样,整数是数字数据类型,只能转换为其他数字。
也可以使用包装器类将其转换为字符串。 即: 字符串str = Integer.toString(a)
如果您尝试将0转换为布尔值,请尝试以下代码行来替换第3行:
b =(a!= 0);
如果您
答案 5 :(得分:0)
布尔值是一个具有两个选择的值-真或假,是或否,1或0。
布尔类型不能转换为任何其他数据类型。