Java SE 基础知识(String,Array)

String 类:

1. 对于String对象的相等性判断来说,请使用equals()方法,而不是==。String的equals()是判断当前字符串与传进来的字符串的内容是否一致。

2. String是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。

3. String Pool (字符串池) 在方法区中。

4. String s = “aaa”;(采用字面值方式赋值)

1). 查找 String Pool 中是否存在“aaa”这个对象,如果不存在,则在 String Pool 中创建一个“aaa”对象,然后将String Pool中的这个“aaa”对象的地址返回来,

赋给引用变量 s, 这样 s 会指向 String Pool 中的这个“aaa”字符串对象

2). 如果存在,则不创建任何对象,直接将 String Pool 中的这个 “aaa” 对象地址返回来,赋给 s 引用。

5. String s = new String(“aaa”);

1). 首先在 String Pool 中查找有没有 “aaa” 这个字符串对象, 如果有, 则不在 String Pool中再去创建“aaa”这个对象了,直接在堆中(heap)中创建一个

“aaa”字符串对象, 然后将堆中的这个“aaa”对象的地址返回来,赋给 s 引用,导致 s 指向了堆中创建的这个“aaa”字符串对象。

2). 如果没有,则首先在 String Pool 中创建一个“aaa“对象,然后再在堆中(heap)创建一个”aaa“对象,然后将堆中的这个”aaa“对象的地址返回来,赋给 s 引用,

导致 s 指向了堆中所创建的这个”aaa“对象。

6. 处理字符串时注意编码格式,将二进制转换为字符串可以考虑构造方法:new String(byte[] bytes, String charsetName)

7. isEmpty()方法只有当字符为""的时候才返回true;当字符串为" "返回false。可以借助trim()方法。

8. valueOf()方法将char数组,各种原生数据类型转换为字符串。byte数组不可以。

9. toCharArray()方法将字符串转换为char数组

10. compareTo()方法可用于字符串之间大小比较

11. 常用的方法还有:contains ; endsWith ; equalsIgnoreCase ; getBytes ; length ; replaceAll ; split ; startsWith ; substring ; charAt;

Array 数组:

1. 定义数组几种格式:

1). type[] 变量名 = new type[数组中元素的个数];

2). type 变量名[] = new type[数组中元素的个数];

3). type 变量名[] = new type[]{逗号分隔的初始化值列表};

4). type 变量名[] = {逗号分隔的初始化值列表};

2. 数组中的元素索引是从0开始的。对于数组来说,最大的索引 == 数组的长度 - 1。

3. Java中每个数组都有一个名为length的 属性,表示数组的长度。length的属性是public,final,int的。数组一旦确定,就不能改变大小。

4. int[] a = new int[10],其中a是一个引用,它指向了生成数组对象的首地址

5. 对于原生数据类型来说,数组中存放的是数据值。而对于引用类型来说,数组中存放的是引用类型的值,不是对象本身。

6. 二维数组是一种平面的二维结构,本质上是数组的数组。二维数组的定义方式:type[][] a = new type[][]等

7. 三维数组定义方式:type[][][] a = new type[][][]

上一篇:nodejs 简单对mongodb 操作


下一篇:No.1_1 java语言基础_学习笔记