—
title: JavaSE_3.常用API(一)String、StringBuilder、ArrayList
date: 2020-10-16 20:01:08
tags: JavaSE
—
字符串String、StringBuilder
String类(不可变字符串对象)
String a = new String(“hello”);
String a = “hello”;两种方法的区别是什么?他们equals吗?
x==y 的结果为true。是因为通过双引号赋值的方式之后,x 和 y 都是指向同一个内存地址,他们的引用都是指向方法区中的同一个内容,引用地址是一样的, 当同一个String字面值无论被创建多少次,始终只有一个内存地址被分配,之后的都是这个String的拷贝,Java中称作“字符串驻留”,所有的字符串常量在编译之后都会自动的驻留。
x = "abcd"这种方式创建的时候首先会查看字符串池中是否已经存在,存在就直接返回PermGen中的该String对象,否则就会创建一个新的String对象,之后再放进字符串池中
String类的方法:
length()
equals()
starsWith("")
endsWith("")
subString(int beginIndex, int endIndex )
indexOf()
trim()
注意这里的length只是表示求长度的方法【长度方法】;
equals是看两个String是否指向同一对象;
subString返回一个小数组【截取】;
starsWith主要是为了看开始是不是以这个开始的【判断】。
trim是清除一下两边的空格【整理】;
StringBuilder(可变字符串对象)
StringBuilder的方法:
append(String str)
insert(int offset, String str)
reverse()
append在字符串后头添加东西;insert在中间插入一串东西;reverse就是求回文方法。
ArrayList集合类
https://blog.csdn.net/weixin_43801418/article/details/120348447
点击这里
基本类型包装类:自动装箱
自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象
处于节省内存的考虑,JVM会缓存-128到127的Integer对象。下限不可更改,但是上限制可以更改,因为下线由low决定,不能改。