Java学习笔记2:Java中Integer与String == 的使用

来源:互联网 发布:单片机开发板多少钱 编辑:程序博客网 时间:2024/06/05 17:41

1.Integer == 的使用

package com.test;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint i1 = 10;Integer i2 = 10;Integer i3 = new Integer(10);Integer i4 = new Integer(10);Integer i5 = 10;//new一定新建一个对象,直接赋值则不一定System.out.println("i1==i2:"+(i1==i2));//true, int没有在堆中开辟内存,他在栈中的值就是10,Integer与int比较的是值,所以true,同下System.out.println("i1==i3:"+(i1==i3));//trueSystem.out.println("i3==i4:"+(i3==i4));//false, i3与i4引用的是对象,比较的是栈的值,栈的值存放的是堆得地址,它们是两个对象显然地址不一样,所以false,同下System.out.println("i2==i3:"+(i2==i3));//falseSystem.out.println("i2==i5:"+(i5==i2));//true, 赋值之前,会去内存中查找有没有这个值,若有则赋予给i5, 没有才会去开辟新的内存System.out.println("i2==1:" + (i2==10));//trueSystem.out.println("i3==1:" + (i3==10));//trueSystem.out.println("i1==1:" + (i1==10));//true}}



2.String == 的使用

package com.test;public class Test1 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString s1 = "hello";String s2 = "hello";//赋值给s2的时候,会去内存中字符串缓冲池查看是否已经存在了,如已经存在,则将这个地址赋予s2,没有则开辟新的内存String s3 = new String("hello");String s4 = new String("hello");String s5 = "hell" + "o";String s6 = s1 + "";System.out.println("s1==s2:" + (s1==s2));//true System.out.println("s3==s4:" + (s3==s4));//falseSystem.out.println("s1==s3:" + (s1==s3));//falseSystem.out.println("s1==s5:" + (s1==s5));//trueSystem.out.println("s6==s1:" + (s6==s1));//falseSystem.out.println("s6.equals(s1):" + (s6.equals(s1)));//true, string对象比较最好使用equals}}


0 0
原创粉丝点击