Java面试系列06(string、自动装箱、equals == )

== equals

== 比较地址值或者是值类型的值(至于原因,看我值类型和引用类型这个博客,写有点麻烦)

equals 执行自己的equals函数。

String类的使用:

常用方法:

char = charAt(int index);
返回下标的字符

int = compareTo(String anotherString);
比较两个字符串
返回 字符串 相差

boolean = equals(Object anObject)
比较两个字符串值是否相同

byte[] = getBytes();
返回字符串的字节表现形式
* int = indexOf("");
判断某个字符串在当前字符串中出现的位置
int : 第一次出现的下标 0 开始
找不到 返回 -1
int = lastIndexOf("");
从后往前找
int : 第一次出现的下标 0 开始
找不到 返回 -1
int = length();
获取字符串的长度

* boolean = matches(String regex);
"hello".matches("规则");
使用hello字符串和规则进行匹配
如果匹配成功(字符串符合定义的规则) 返回true
* String = replace(oldChar,newChar);
替换 :
String = replaceAll(String regex,String replacement);
* String[] = split(String regex);
分隔,打断

* String = subString(beginIndex);
取子串
从beginIndex位置获取到最后
* String = subString(beginIndex,endIndex);
取子串
从beginIndex位置获取到endIndex

String = toLowerCase();
返回小写
String = toUpperCase();
返回大写
String = trim();
去除字符串 左右 两端的空格

stringbuilder是线程不安全的stringbuffer是线程安全的

arraylist是线程不安全的vector是线程安全的

hashmap是线程不安全的hashtable是线程安全的

 

基本数据类型和包装器类型,包装器类型都重写了equals方法

boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double

自动装箱使用的是valueof方法

自动拆箱是intvalue方法(int是那个数据类型,可以替换成char等)

integer的缓存范围(-128到127)自动装箱会使用valueof方法(static),如果int类型且在这个范围之内,则会直接返回这个数值的integer的对象的引用,因为已经缓存了,超出数值的创建integer对象返回。

自动拆箱和装箱发生的时刻:基本数据类型和其对应的类类型相互转换的时候。

字符串转换为integer类型  integer.parseint("全数字字符串")

integer.max_value最大值

integer.min_value最小值

 

posted on 2019-08-12 16:57  暮城暮雪  阅读(202)  评论(0编辑  收藏  举报

导航