JAVA报错:The operator != is undefined for the argument type(s) int,null

if(formbean.getParentid()!=null&&formbean.getParentid()>0)type.setParent(newProductTy... if(formbean.getParentid()!= null && formbean.getParentid()>0)
type.setParent(new ProductType(formbean.getParentid()));

这个表达式里面为什么会报错啊:The operator != is undefined for the argument type(s) int,null 把null改成1就可以了 我的跟老师的代码一样啊,为什么我的会报错呢
formbean.getParentid()!= null 是这句报错的
展开
 我来答
兔丞飞
高粉答主

2018-12-16 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

null只是对对象有用,基本类型没有null。

package cn.edu.shu.web.test;

public class TestInteger {

public static void main(String[] args) {

/**

* 问题来源是在Struts2的action中,如果从session中取值,如果取不到的话,那么应该为null,由于我将其强转为Integer类型了,其后再将其与Integer比较时,居然抛空指针异常

*/

Object one = null;

Integer two = (Integer) one;

System.out.println(null == two);// out put true

System.out.println(two instanceof Integer);// out put false

System.out.println(two instanceof Object);// out put false

// System.out.println(0 == two);// 抛出空指针异常

// 思索,由于JDK有自动拆装箱操作,所以即使用的是Integer,其也会被拆箱为int类型,这样在使用操作符时,不满足int型和null型比较

// 编译错误: The operator == is undefined for the argument type(s) int, null

System.out.println(0 == null);

}

}

扩展资料

JAVA报错:The operator % is undefined for the argument type(s) int, String 

import javax.speech.Central;

import javax.speech.EngineException;

import javax.speech.synthesis.*;

public class TrySpeech {

static Synthesizer synthesizer;

public static void main(String[] args) {

try {

synthesizer = Central.createSynthesizer(null);

synthesizer.allocate();  //这行运行时抛出空指针异常

} catch (EngineException e) {

}

try {

synthesizer.speak("Hello I am a computer", null);

synthesizer.speak("Hello I am a <EMP>computer</EMP>", null);

synthesizer.speak(

"Hello I am a <PROS PITCH=\" 10% \">computer</PROS>", null);

} catch (Exception e) {

e.printStackTrace();

}

}

}

参考资料:百度百科 - JAVA

puderty
2008-08-07 · TA获得超过3530个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:0
展开全部
因为它是个int型,你老师的可能是String parentid而你的是int parentid
null只能用在对象和String上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友89baadae1
2008-08-07 · TA获得超过336个赞
知道答主
回答量:215
采纳率:0%
帮助的人:96.2万
展开全部
getParentid()方法返回的是什么类型? 呵呵.

你这个报错和

int i = 0;
if (i == null)
的错误是一样的
null只是对对象有用.
基本类型没有null.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2021-05-19
展开全部
你看看你的实体类上是不是int类型的,需要更改为Integer类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式