引用数据类型之String(一)
来源:互联网 发布:cms监控软件手机版安卓 编辑:程序博客网 时间:2024/05/19 02:01
Java中的String相关问题
String s1 = “a”;
String s2 = s1 + “b”;
String s3 = “a” + “b”;
System.out.println(s2 == “ab”);
System.out.println(s2.equals(“ab”) );
System.out.println(s3 == “ab”);
System.out.println(s3.equals(“ab”) );
首先,String是引用类型,其比较值相等时,需要重写父类的equals()方法,这点String已经重写,而==则比较的是地址值是否相等。在编译期能确定的值,会被编译器优化,例如两个确定的字符串相加。String s3 = "a"+"b";编译器会优化成 String s3 = "ab";即System.out.println(s3 == "ab");结果为true;是因为“a”和“b”都是确定值的常量,在编译阶段会进行优化 也就是说在编译期就已经确定了s3的值为“ab”了。System.out.println(s2 == "ab");结果false;是因为s1为引用类型的值 需要在运行时才能确定具体的值是多少?结论:等与不等就是看能不能在编译器就确定各个变量的值。如果在s1前加final修饰,则System.out.println(s2 == "ab")结果也为true,因为s1此时为常量,是不可改变的字符串,则在编译期就可以确定其值也为“ab”了。
阅读全文
2 0
- 引用数据类型之String(一)
- Java数据类型之引用数据类型 String、Scanner、Math
- Java基础之数据类型(一)与传值传引用分析
- Redis数据类型之string
- Redis数据类型之String
- java基础之----基本数据类型和引用数据类型的参数传递过程(一)
- 对象引用之String
- String是原始数据类型还是引用数据类型
- Redis存储数据类型一:String
- C#数据类型之引用类型
- Java引用数据类型之数组
- java引用数据类型之数组
- redis基础之数据类型string
- Redis数据类型之string类型
- JS数据类型之String类型
- 03. redis 数据类型之String
- Redis数据类型之String类型
- Redis基础之数据类型(String)
- CSS3选择器
- 教你一步步集成友盟推送(UPUSH)
- XAMPP Mysql/MariaDB 忘记密码
- 斐波那契数列递归与非递归的实现
- 获取某个月的第一天和最后一天
- 引用数据类型之String(一)
- 【Scikit-Learn 中文文档】随机梯度下降
- ArrayList数组变成字符串
- GLSurfaceView渲染过程详解
- DVD管理系统:为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能:
- 自创简易加密算法
- UML建模浅析
- 高斯消元法(三):用Python简单实现顺序消元法
- 查询今天、昨天、本周、上周、本月、上月数据