发布网友 发布时间:2022-04-26 15:09
共6个回答
热心网友 时间:2022-04-25 18:40
类型不兼容的情况下不能直接使用instanceof来进行判断,如果这两个类型是基本数据类型可以使用a.getClass().equals(B.class)(其中a是基本数据类型A的一个变量,相当于你这里的s,B是你想要比较的那个数据类型,这里相当于Boolean);如果这两个类型是你自己创建的普通类,则可以让他俩继承一个共同的类,或者实现同一个接口。你这个属于第一种情况,程序如下:
再举一个第二种的情况,程序如下:
public class Test{
热心网友 时间:2022-04-25 19:58
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。该语言规定了s必须是右边Class类的继承数中的一个,否则编译出错。你可以这样改:System.out.println(Boolean.valueOf(s) instanceof Boolean);,但是这个结果是true。追问我需要它结果为false
热心网友 时间:2022-04-25 21:33
Boolean 是你自己创建的类吗。instanceof 后面必须是个类 不能是数据类型追问你先学懂了Java基础再回答问题吧
热心网友 时间:2022-04-25 23:24
String s = "true";热心网友 时间:2022-04-26 01:32
这样编译不通过呀,因为s是String类型,java的数据类型是强类型,所以编译不通过。你要表达什么意思?追问我要让程序提示出false也就是让我知道String的对象不属于Boolean类 或者你写一段结果为false的代码 让我看看 能不能看懂追答System.out.println(s.getClass().isAssignableFrom(b.getClass()));
热心网友 时间:2022-04-26 03:57
仍然萨芬撒追问?