java之包装类,String类以及常见的一些类

Posted scanner小霸王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之包装类,String类以及常见的一些类相关的知识,希望对你有一定的参考价值。

1.8种 包装类型(wrapper)

在这里插入图片描述
a)拆箱与装箱(练习题)
此处输出是1.0而不是1的原因,因为double的优先级别较高,三元运算符是一个整体,所以integer要提升精度
在这里插入图片描述
ii)
在这里插入图片描述
当直接new Integer()是两个不同的对象;
当Integer m定义的时候,底层是Integer.valueOf()这个方法,当值在-128~127之间的时候,直接返回值;当不在这个范围的时候,会new Integer(“值”),就变成了一个对象
ii)
只要存在数据类型,比较的就是值是否相等
在这里插入图片描述

2.String类

a)实现的接口
在这里插入图片描述
ii)实现serializable可以串行化,可以在网络上传输
ii)实现comparable接口,说明string对象可以比较
b)string一些注意内容
ii)String的采用unicode编码,一个字符占两个字节
ii)final类,不能被其他类继承
ii)本质是一个 char[] 数组,String有private finalchar value [],用于存放字符串内容
ii)value是一个final类型,不可以修改(指的是不能指向新的一个对象,而并非不能修改内容)
eg:(此时的final修饰的value指向一个新的地址 )
final char[] value ={‘a’,‘b’,‘c’};
char[] v2 = {‘h’,i’’,‘j’};
value =v2;

c)两种创建String对象

在这里插入图片描述
在内存上的创建方式
在这里插入图片描述

ii)String重写的equals()是比较两个数组的值是否一样

习题:
ii)
在这里插入图片描述
ii)p1和p2是不同的内存空间,但是String类型的name指向常量池的 地址相同,第三个也是一样
在这里插入图片描述

ii)创建了两个对象;s1的对象指向了常量池的“hello”,当s1被修改时候,s1将重新指向常量的“haha”,而不是将原来的hello内容改为haha;
在这里插入图片描述
ii)
在这里插入图片描述
ii)a =“hello”;b=“abc”;问String c=a+b;创建了多少个对象?3个;
在这里插入图片描述
因为toString的方法是调用new String(),所以并不是直接指向常量池中
在这里插入图片描述
d)String类常见的方法
String类型效率比较低,每次修改都要开辟空间
在这里插入图片描述
在这里插入图片描述

3.StringBuffer

在这里插入图片描述
a)String vs StringBuffer(存放在堆中char[] value,不是在字符串常量)
在这里插入图片描述
b)StringBuffer构造器的使用
在这里插入图片描述
c)string与StringBuffer的转换
ii)String转为StringBuffer
在这里插入图片描述
ii)StringBuffer 转为String
在这里插入图片描述
d)习题:
在这里插入图片描述

4.StringBuilder(不是线程安全,比StringBuffer要快)

StringBuffer和StringBuilder均表示可变的字符序列,方法都是一样的
在这里插入图片描述
a)三者进行比较
在这里插入图片描述
使用原则:
在这里插入图片描述

5,一些常见的类的使用

a)Arrays
在这里插入图片描述
ii)排序sort()
在这里插入图片描述
在这里插入图片描述

ii)copyOf()
在这里插入图片描述
如果拷贝长度<0时候,就抛出异常NegativeArraySizeException

b)System类
在这里插入图片描述
ii)System.arraycopy(src,0,dest,0,3)
在这里插入图片描述
c)BigInteger和BigDecimal
ii)场景
在这里插入图片描述
BigInteger
在这里插入图片描述
BigDecimal
在这里插入图片描述

以上是关于java之包装类,String类以及常见的一些类的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础-常用类(DateStringBufferStringBuilderMathArrays和包装类)

Java包装类:从概述到常见操作以及面试题

Java基础——常用类(DateFile)以及包装类

Java基础入门之基本数据包装类以及简单转换

Java 常用类库 之 基本类型的包装类

Java之基本数据类型包装类