学习内容
1不可变字符串
String
- 1.不可变的字符串 一旦创建 内容不能改变
- 用“==”比较两个对象是否相同(地址)
“equals”比较内容是否相同
- 用“==”比较两个对象是否相同(地址)
- 3.字符串的创建
a.String str="";
b.String str =new String();
构造方法 没意义
c.使用字节数组 创建一个字符串/一串数字
byte[] name={'a','b','c'};
String str=new String(name);
System.out.println(str);
byte[] name2 = {97,98,99};
String str = new String(name2);
System.out.println(str);
e.使用字节数组的一部分 创建一个字符串
String str=new String(name,0,2);
System.out.println(str);
- 字符串有哪些方法
1.获取字符串中的一个字符 chatAt
char c=h.charAt();
System.out.println(c);
2.比较两个字符串的大小 compareTo (0:相同, >0:大于,<0:小于)
int result=str1.compareTo(str2);
System.out.println(result);
3.两个字符串的连接 concat
String nStr=str.concat(str2);
System.out.println(nStr);
4.判断一个字符串是否包含另一个字符串 contains
boolean r="hello".contains("lle");
System.out.println(r);
5.判断是否以某个字符串结尾/开 endsWith/startsWith
String url="http://www.baidu.com";
if(url.endsWith(".com")){
System.out.println("网址");
}
if(url.startsWith("http")){
System.out.println("http协议");
}
if(url.startsWith("www",7)){
System.out.println("万维网");
}
6.两个字符串进行比较 equals
if ("abc".equals("ABC")){
System.out.println("相同");
}
else{
System.out.println("不相同");
}
7.判断一个字符串在另一个字符串里面的位置(不存在返回值为-1) indexOf
String i1="hello Java";
int index=i1.indexOf("Javee");
System.out.println(index);
8.获取子字符串 substring
9.将字符串转化为字符数组 toCharArray
10.将所有字符转化为小写/大写toLowerCase/toUpperCase
11.将字符串其那面和后面的空格字符删除 trim()
2可变字符串
StringBuffer 线程安全 效率不高
StringBuilder 线程不安全的 效率更高
需要了解的方法:insert append delete replace
// 创建的同时先准备好6个字符的空间
StringBuilder sb = new StringBuilder(6);
// append 在末尾追加
sb.append("I");
sb.append(" Love");
sb.append(" Android");
System.out.println(sb);
// insert 插入数据
sb.insert(2, "also ");
System.out.println(sb);
// replace 替换
// start end string
int start = sb.indexOf("Android");
int end = start + "Android".length();
sb.replace(start,end,"you!!!");
System.out.println(sb);
// reverse 反转
sb.reverse();
System.out.println(sb)
如何判断是设计普通类、抽象类还是接口呢?
抽象类 | 普通类 | 接口 | ||
---|---|---|---|---|
是否需要添加成员变量? | 需要 | ✔️ | ✔️ | ❌ |
不需要 | ❌ | ❌ | ✔️ | |
添加的方法是不是必须要实现? | 必须 | ✔️ | ❌ | ✔️ |
不需要 | ✔️ | ✔️ | ❌ | |
需要提供模板还是通信的工具? | 模板 | ✔️ | ❌ | ❌ |
通信(数据传递) | ❌ | ❌ | ✔️ |
心得体会
暂时没有
网友评论