主页 > 开源代码  > 

CUMT--Java复习--核心类

CUMT--Java复习--核心类

目录

一、装箱与拆箱

二、“==”与equals

三、字符串类 

1、String、StringBuffer、StringBuilder的区别

2、String类

3、StringBuffer类 

4、StringBuilder类

四、类与类之间关系


 

一、装箱与拆箱

        基本类型与对应封装类之间能够自动进行转换,本质就是Java的自动装箱和自动拆箱过程。

        装箱:将基本类型数据值转换成对应的封装类对象,即将栈中的数据封装成对象存放到堆中的过程。

        拆箱:将封装的对象转换成基本类型数据值,即将堆中的数据值存放到栈中的过程。

Integer obj=10;  //装箱

int a=obj;           //拆箱

二、“==”与equals

        “==”判断的是地址一致问题,如果同一个值引用或者间接传入,都会返回true。

        equals判断的是值一致问题,只要值相同就返回true,或者改写equals函数,那就要根据实际问题分析值是否一致了。

        注意一定是使用类实例化对象的方法,如果用int的话都是true。另外在version 9之后已经认为这种方法deprecated,真别讲这个东西了。

public class test { public static void main(String[] args) { Integer t1=new Integer(1); //整型对象,当作类分析,存在堆中 Integer t2=new Integer(1); Integer t3=t1; System.out.println(t1==t3); //true System.out.println(t1.equals(t3)); //true System.out.println(t1==t2); //false System.out.println(t1.equals(t2)); //true } } 三、字符串类  1、String、StringBuffer、StringBuilder的区别

        String:创建的字符串是不可变的,如果改变字符串的值,需要创建新字符串,将字符串变量引用新创建的字符串地址,而原字符串在内存中仍然存在内容不变,直至垃圾回收系统销毁。

        StringBuffer:创建的字符串是可变的,当使用StringBuffer创建一个字符串时,可以通过append(),insert(),setCharAt()等方法进行改变,而字符串变量引用的地址不变,最终调用toString()方法转换成一个String对象,线程安全的。

        StringBuilder:可变字符串,不是线程安全的。

2、String类

        String类方法:

        代码实例:

public class stringtest { public static void main(String[] args) { String str="Hello,world!"; System.out.println("长度:"+str.length()); System.out.println("下标为5开始的子串"+str.substring(5)); //,world! System.out.println("下标为5开始10结束的子串"+str.substring(5, 10)); //,worl System.out.println("全部小写:"+str.toLowerCase()); System.out.println("全部大写:"+str.toUpperCase()); } } 3、StringBuffer类 

        StringBuffer 方法:

        代码实例:

public class stringtest { public static void main(String[] args) { StringBuffer sb=new StringBuffer(); System.out.println("初始长度:"+sb.length()); //0 System.out.println("初始容量:"+sb.capacity()); //16 sb.append("world!"); System.out.println("追加后:"+sb); //world! sb.insert(0,"Hello "); System.out.println("插入后:"+sb); //Hello world! sb.replace(5,6,","); System.out.println("替换后:"+sb); //Hello,world! sb.delete(5,6); System.out.println("删除后:"+sb); //Helloworld! sb.reverse(); System.out.println("反转后:"+sb); //!dlrowolleH System.out.println("当前初始长度:"+sb.length()); //11 System.out.println("当前初始容量:"+sb.capacity()); //16 sb.setLength(5); System.out.println("改变长度后:"+sb); //!dlro } } 4、StringBuilder类

        StringBuilder方法:

        StringBuilder类的方法的运行与StringBuffer类的方法运行一致。 

四、类与类之间关系

        继承、实现、依赖、关联、聚合、组成

        成员内部类和静态内部类的区别:

—— 成员内部类:必须寄生在外部类对象里

—— 静态内部类:静态内部类是属于类的,不依赖于外部类的对象

 

参考书籍:《Java 8 基础应用与开发》QST青软实训编

 

标签:

CUMT--Java复习--核心类由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CUMT--Java复习--核心类