如图所示这第94行的!flag和110行的flag=false是一样的么?那么94行能否也写成if(flag=false)?
是不一样的,94行是一个取非判断,假设flag为true,!flag当前的值为false,if里可以这样 if ( flag == false)。110行flag=false是赋值操作。
这几天写代码的时候遇到这么个有关反射的问题
可以通过这个方式来获取泛型中的类型
Type superClass = getClass().getGenericSuperclass();
if(superClass instanceof ParameterizedType) {//判断是否有参数ParameterizedType parameterizedType = (Parameterize......
答案就在这里:Java反射的一个小问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
你的思路是可以的咯,但是你要写成flag==flase。flag=flase是赋值操作。
94行是判断其是否正确是布尔型,而110行是直接赋给其值。两者不一样
不一样的,94行的是判断是否为布尔型,110行的是赋值
if(!flag)相当于if(flag!=true),是逻辑运算。flag=false是赋值。前者表示如果flag不等于true,后者表示我把flag设置为false
前面几位大哥都解释了问题所在了。本质上就是**逻辑运算符**、**关系运算符**、**赋值运算符**的替换和区分。!是逻辑运算符,==是关系运算符,而=是赋值运算符。!和==都将返回一个布尔值,true和false。而=是将右边的值赋给左边的变量。