b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

正则表达式 中文匹配 (十二)Object和String(2)

电脑杂谈  发布时间:2017-12-17 14:31:08  来源:网络整理

个人理解:这个方法实在是很尴尬的一个方法,不能发号施令,只能干吆喝,干不干是别人的事。这就相当于街头小贩了,只吆喝,管不了你买不买。

获取对象的实际类型(创建类型)。正则表达式 中文匹配

返回对象的哈希码值的十进制。哈希码是一串32位的二进制数据,由于出现相同的数值的概率非常低,所以可以认为是唯一的。(不建议手动重写)

重写hashCode的时候,当equals值为true的时候,哈希码必须一致。但是哈希码一致equals不一定为true。

native关键字修饰的是本地方法,底层是用c语言写的。

返回对象的字符串形式,默认返回对象的地址。当打印对象的时候默认是调用了这个对象的toString方法。一般会重写。

==和equals有什么区别?

当是基本类型的时候,==判断的是实际数据;对于引用类型而言==判断的是地址。

equals只能作用于引用类型,默认比较的是两个对象的地址;当重写来equals的时候,按照重写之后的要求进行比较。

String class 就是字符串类,我看了源码,底层就是使用char数组存储数据的。

1.String是一个最终类,代表字符串的一个类,所有的字符串都是String的对象。

2.字符串是一个常量;字符串可以被共享。

3.字符串是存在方法区。

4.注意不同的方式创建的对象的个数。有几个对象,就看内存中有几个存储的是地址。

String s = “abc”; //产生了1对象
String s = new String(“abc”); //产生了2个对象
String s = “a”; s += “b”; //产生了5个对象
String s = “a”; //产生了1个对象
s = new StringBuilder(“a”).append(“b”).toString(); //这个过程产生了4对象
String s = “a”; s += “b”;   //1个a,1个b,2个对象。
String s = “a”;             //
s = new StringBuilder(“a”).append(“b”).toString();
//3个对象:StringBuilder1个,append拼接产生1个,toString产生1个。
s = new String(“ab”);//最终只存活了4个对象,StringBuilder产生的对象会被解析。

这里写图片描述

// 100个字符串组成的字符数组
String[] arr = new String[100];
// + 进行拼接
String s = “”; // 1
for(String str : arr){
s += str; //s = new StringBuilder(s).append(str).toString(); //300
}
// StringBuilder
StringBuilder sb = new StringBuilder(); // 1
for(String str : arr){
sb.append(str); // 100
}
String s = sb.toString(); // 1

操作字符串的一个类,不保证同步,是一个线程不安全的类。效率高一些。

在进行字符串拼接的时候JVM会在底层调用StringBuilder的append方法,进行拼接。

如果拼接多个字符串,建议使用StringBuilder;如果拼接少量字符串,可以使用+。

构造一个不带任何字符的字符串,其初始容量为 16 个字符。

构造一个不带任何字符,容量有参数确定的字符串。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-53988-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...