今天的内容
1.String类
2.泛型
1.String
1.1String的两种声明方式
package com.qf.a_string; public class Demo1 { public static void main(String[] args) { //声明的第一种方式: String string = "我欲乘风归去"; System.out.println(string); //这第二种声明方式 String str1 = new String("goudan"); System.out.println(str1); } }
1.2两个字符串比较
== : 比较 是内存的地址 比较严格的
equlas: 先比较地址,然后地址不一样再比较内容
开发中 比较两个字符串一定使用equals
1.3关于String类I型数据的内存分析
String str = "hello"; String str2 = "hello"; String str3 = new String("hello"); worldhello
1.4String类下面的方法
获取字符串长度 int length();
获取特定位置的字符 char charAt(int index);
获取特定字符的下标 int indexOf(String str);
获取特定字符的最后的一个位置 int lastIndexOf(int ch);
返回值是布尔类型数据
boolean endWith(String str); 是否以指定的字符或者字符串结尾
boolean isEmpty();判断是否为空,如果字符串为空就 true
boolean contains(); 判断是否包含子字符串
boolean equals(Object anOnject); 判断两个字符串是否相等
boolean equalsIgoreCase(Object anObject); 忽略大小写判断两个字符串是否相等
将字符数组转为字符串
直接可以使用STring类的构造方法
String(char[] value)
String(char[] value, int offset, int count)
static String valueOf(char[] chs);
将字符串转为字符数组
char[] toCharArray();
以下是几个比较重要的方法
String replace(char oldChar, char newChar); 字符在字符串中替换
String [] split(String regex); 以 regex 对当前的字符串进行切割
String subString(int beginIndex); 截取字符串一部分
String subString(int beginIndex, int endIndex); 截取字符串一部分
String toUpperCase();将小写字母转为大写的字母
String toLowerCase();将大写转为小写字母
String trim(); 去除左右空格
2.泛型【重点难点】
2.1为啥要使用泛型
广泛的类型
在开发中对数据一致性的要求是比较高的
例如:
数组中存数据 都是同一个类I型的
int[] arr = new int[]
char[] arr = new char[]
2.2自定义泛型在方法中的使用
语法格式:
public <无意义的占位符> 返回值的类型 方法的名字 (参数) { }无意义的占位符:可以任意的字符 但是都大写的 开发中一般是 T (Type) E (Element) ?(未知)
无参无返回值
有参无返回值
无参有返回值
有参有返回值
2.3泛型类[重点]
和之前的普通类不一样
语法格式:
class 类名 <无意义的占位符> { }
2.5泛型接口
语法格式:
interface 接口名字<无意义的占位符> { }