8种基本数据类型
- byte -> Boolean
- short -> Short
- int -> Integer
- long -> Long
- char -> Character
- float -> Float
- double -> Double
- boolean -> Boolean
包装类型
- Integer i2 = Integer.valueOf(1);
- Integer i3 = new Integer(1);
基本类型
- int i = i2.intValue();
- int ii = 1;
JDK1.5 自动拆箱和装箱;
- Integer iii = 4;
- int iiii = iii + 1;
字符串 <==> 基本类型
- int aa = Integer.parseInt("1");
- String aaStr = String.valueOf(1);
- String aStr = 1 + "1";
+符号: 自动拆箱, 字符串连接符, 求和运算符, 基本类型转换字符串
字符串 String
构造方式:
1、String str = "hello";
2、String str = new String("hello");
3、String str = new String(new char[]{'a', 'b', 'c'});
4、String str = new String(new byte[]{ 97, 98, 100 });
常见函数:
- charAt();
- concat();
- contains("A");
- startsWith("a");
- endsWith("z");
- equals("abc"); // 重写Object的equals方法, 比较内容
- indexOf("o");
- lastIndexOf("z");
- toCharArray(); //转换字符数组
- Arrays.toString(数组); // [a, b, c, d]
- isEmpty(); //是否是空字符串
- replace();
- split("==="); // 分隔符放在尾部不起作用, 放在首部分割出空字串元素
- substring(startIndex, endIndex(可选));
- toUpperCase();
- toLowerCase();
- trim();
- length();
内存分析
String newStr2 = "ab" +"cd";// 拼接之后就是字符串常量池的地址,常量池中字符串数据只有一份,因此地址也是一个
String newStr ="abcd";
newStr2==newStr // true;
方法区内相同字符串 用 == 比较 得 true
String str = str1 + str2; => String str = new StringBuilder().append(str1).append(str2);(内存地址是堆中的)
final String str = "hello"; // 内存地址是方法区常量池
可变字符串
- +号连接
- StringBuffer sb = new StringBuffer("abc").append("abc");
此外还有 insert delete replace length 等方法; 线程安全,相比+连接快
- StringBuilder sb2 = new StringBuilder(); 线程不安全,相比前两个快
泛型
- 泛型类 创建对象时明确具体类
- 泛型方法 实现方法时明确具体类
- 泛型接口 实现接口/或者继承类被new时明确具体类
<? extends Object> 是Object及Object的子类
<? super Object> 是Object及Object的父类
<?,?,?> 泛型类是一个或多个
集合
Collection
| collection | |
|---|
| add() | 添加元素 |
| addAll() | 添加集合 |
| contains() | 是否包含某元素 |
| equals() | 比较内容是否相等 |
| isEmpty() | 是否为空 |
| remove() | 删除某个元素 |
| size() | 集合长度 |
| toArray() | 转换为数组 |
// foreach
// 迭代器
| collections | |
|---|
| addAll() | 添加集合 |
| sort() | 排序 |
| binarySearch() | 二分查找 |
| reverse() | 倒叙 |
| list | |
|---|
| add() | 添加元素 |
| addAll() | 添加集合 |
| contains() | 是否包含某元素 |
| equals() | 比较内容是否相等 |
| isEmpty() | 是否为空 |
| remove() | 删除某个元素 |
| size() | 集合长度 |
| toArray() | 转换为数组 |
| map | |
|---|
| add() | 添加元素 |
| addAll() | 添加集合 |
| contains() | 是否包含某元素 |
| equals() | 比较内容是否相等 |
| isEmpty() | 是否为空 |
| remove() | 删除某个元素 |
| size() | 集合长度 |
| toArray() | 转换为数组 |
| tree | |
|---|
| add() | 添加元素 |
| addAll() | 添加集合 |
| contains() | 是否包含某元素 |
| equals() | 比较内容是否相等 |
| isEmpty() | 是否为空 |
| remove() | 删除某个元素 |
| size() | 集合长度 |
| toArray() | 转换为数组 |