java字符串加数字 两个加号是什么意思

duqian42707 2016-03-22 02:53:05

public static void main(String[] args) {
Integer obj = 3;
// Integer obj = null;
String sql = "abc" + + obj;
System.out.println(sql);
}


以上代码 字符串“abc” 和整数obj之间用了两个加号(两加号之间有空格),这种写法是什么意思?
另外,如果对象obj为null,在字符串连接那一行会报空指针错误。求大神解释!
...全文
997 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duqian42707 2016-03-22
  • 打赏
  • 举报
回复
感谢朋友们的回答 确实应该是表示正负号。 我将Integer abc = 3 换成 String abc = "3" ,后面的字符串连接报了编译错误,而换成Long abc = 3L没有错误。 另外我将第二个加号变为减号,并将编译后的class文件用jad工具反编译打开,发现字符串连接Integer是这么做的:

    Integer localInteger = Integer.valueOf(3);
    String str = "abc" + -localInteger.intValue();
    System.out.println(str);
说明该减号确实是表示的正负,这也解释了为什么会报空指针
threedong 2016-03-22
  • 打赏
  • 举报
回复
是不是写错了? 另外 obj=null,将它字符串化肯定会报错
大脸萌嘟嘟 2016-03-22
  • 打赏
  • 举报
回复
应该是正负号的意思 楼主可以尝试下把那个integer 改成-3 再输出看看结果
大脸萌嘟嘟 2016-03-22
  • 打赏
  • 举报
回复
我觉得没有什么含义吧,我还特意试了一下,把第二个加号改成减号,会得到abc-3 关于空指针的话,尤其对于字符串的用法,用之前一般都得判空才能用,可以看看我的一篇博客文章
duqian42707 2016-03-22
  • 打赏
  • 举报
回复
有没有人啊?
duqian42707 2016-03-22
  • 打赏
  • 举报
回复
没有人知道吗?

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧