文档章节

Java字符串、包装类的比较问题

bithup
 bithup
发布于 2017/12/15 18:15
字数 404
阅读 10
收藏 1

1.==比较的是变量本身,对应引用变量来说,比较的是引用地址值,而非引用指向的对象;

2.字符串和基本类型包装类都是引用类型

3.两个字符串比较只能使用equals()方法

        String s="s";
        String ss="s";
        String sss=new String("s");
        System.out.println(s==ss);//true,s和ss是常量池中的同一个地址
        System.out.println(s==sss);//sss不在常量池中

4.两个基本类型包装类比较、基本类型与包装类比较


        Integer a = new Integer(1);
        Integer aa = new Integer(1);
        System.out.println(a==aa);//false ,包装类不应该使用==比较
        int c=1;
        System.out.println(a==c);//true,a在堆中,c在常量池中,a被自动拆箱为基本类型
        Short b = new Short((short) 1);
        System.out.println(a.equals(b));//false,不同类型的包装类使用equals比较不会报错
        //System.out.println(a==b);  不同类型的包装类不能使用==比较,会报错
         byte d=1;
        System.out.println(c==d);//不同类型的基本类型可以比较,会自动转换类型

总结:字符串全都使用equals比较,基本类型和包装类之间使用==和equals都可以,两个包装类型使用equals比较。

mysql+mybatis查询数据库,如果某个字段在数据库中为null,则返回的数据中没有该字段

从mybatis返回的结果(实体类,或集合)中去取该字段,得到的是null;

如果想使用equals方法判断该字段是否为空字符串或其他,使用"".equals(目标字符串)会更安全,避免空指针异常。

© 著作权归作者所有

上一篇: Java 枚举Enum
bithup
粉丝 8
博文 101
码字总数 82172
作品 0
朝阳
程序员
私信 提问
Java学习手册:Java基础知识点(不断扩充更新中)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/MaybeForever/article/details/89186089 1、Java学习手册:Java基础知...

浩比浩比
08/29
0
0
Java语言学习(七):字符串的常见使用

Java中字符串的使用很是常见,也是不可避免的,比如:格式化、大小写转换等等,下面就这些常见的使用来说下字符串。 在使用前,必须要理解一点:字符串是不可变的对象,意味着每当调用字符串...

海岸线的曙光
2018/07/16
14
0
Java|从Integer和int的区别认识包装类

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/darlingwood2013/article/details/96969339 Java|Integer和int 极客时...

叶晚林
07/24
0
0
2-Java常用工具类-包装类

Java是一门面向对象的编程语言 但家族却存在几个异类,它们不能像对象一样进行属性,方法的调用,以及相互之间的对象化处理(对象交互) 包装类的存在就是为了解决这些异类所存在的问题,让它们...

天涯明月笙
2018/08/06
0
0
Java到底是不是一种纯面向对象语言?

Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。 在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 “面向对象编程范式(Object Oriented Progr...

Java工程师-10
2017/05/25
677
5

没有更多内容

加载失败,请刷新页面

加载更多

实战项目-学成在线(一)

之前看的黑马程序员实战项目之一,打算以博客的形式写出来,也让自己重新温习一下。 1、项目背景 略(就是当前这东西很火,我们重点在开发,这些就略过) 2、功能模块 门户,学习中心,教学管...

lianbang_W
33分钟前
3
0
基于Vue的数字输入框组件开发

本文转载于:专业的前端网站➫基于Vue的数字输入框组件开发 1、概述 Vue组件开发的API:props、events和slots 2、组件代码 github地址:https://github.com/MengFangui/VueInputNumber 效果:...

前端老手
41分钟前
3
0
百度地图根据经纬度获取运动轨迹

<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=n......

泉天下
43分钟前
5
0
学习记录(day04-axios增删改查、v-for循环、页面加载成功处理函数)

[TOC] 1.1 基本语法:插值表达式 <template> <div> {{username}} <br/> {{1+2+3}} <br/> {{'你的名字是:' + username}} <br/> {{'abc'.split('')}} </div><......

庭前云落
今天
5
0
CentOS Linux 7上将ISO映像文件写成可启动U盘

如今,电脑基本上都支持U盘启动,所以,可以将ISO文件写到U盘上,用来启动并安装操作系统。 我想将一个CentOS Linux 7的ISO映像文件写到U盘上,在CentOS Linux 7操作系统上,执行如下命令: ...

大别阿郎
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部