回调
定义
把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。
使用方法
- 创建一个回调对象
- 创建一个控制器对象,将回调对象需要被调用的方法告诉控制器对象。
控制器对象负责检查某个场景是否出现或某个条件是否满足。当此场景出现或此条件满足时,自动调用回调对象的方法。
代理设计模式
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能
数组
String
创建与初始化
//1
String str1 = "abc";
//2
String str3 = new String();//没意义
//3
//使用字节数组 创建一个字符串
byte[] name = {'a','b','c'};
String str4 = new String(name);
//4
byte[] name2 = {97,98,99};
String str5 = new String(name2);
//5
//使用字节数组的一部分 创建一个字符串
String str6 = new String(name,0,2);
//6
char[] hello = {'你','好','啊'};
String h = new String(hello);
相关的方法
N(序号) |
方法描述 |
1 |
char charAt(int index)返回指定索引处的 char 值。 |
2 |
int compareTo(Object o)把这个字符串和另一个对象比较。 |
3 |
int compareTo(String anotherString)按字典顺序比较两个字符串。 |
4 |
int compareToIgnoreCase(String str)按字典顺序比较两个字符串,不考虑大小写。 |
5 |
String concat(String str)将指定字符串连接到此字符串的结尾。 |
6 |
boolean contentEquals(StringBuffer sb)当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。 |
7 |
static String copyValueOf(char[] data)返回指定数组中表示该字符序列的 String。 |
8 |
static String copyValueOf(char[] data, int offset, int count)返回指定数组中表示该字符序列的 String。 |
9 |
boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束。 |
10 |
boolean equals(Object anObject)将此字符串与指定的对象比较。 |
11 |
boolean equalsIgnoreCase(String anotherString)将此 String 与另一个 String 比较,不考虑大小写。 |
12 |
byte[] getBytes()使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
13 |
byte[] getBytes(String charsetName)使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
14 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)将字符从此字符串复制到目标字符数组。 |
15 |
int hashCode()返回此字符串的哈希码。 |
16 |
int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。 |
17 |
int indexOf(int ch, int fromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 |
18 |
int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。 |
19 |
int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 |
20 |
String intern()返回字符串对象的规范化表示形式。 |
21 |
int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。 |
22 |
int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 |
23 |
int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引。 |
24 |
int lastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 |
25 |
int length()返回此字符串的长度。 |
26 |
boolean matches(String regex)告知此字符串是否匹配给定的正则表达式。 |
27 |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)测试两个字符串区域是否相等。 |
28 |
boolean regionMatches(int toffset, String other, int ooffset, int len)测试两个字符串区域是否相等。 |
29 |
String replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 |
30 |
String replaceAll(String regex, String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
31 |
String replaceFirst(String regex, String replacement)使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 |
32 |
String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 |
33 |
String[] split(String regex, int limit)根据匹配给定的正则表达式来拆分此字符串。 |
34 |
boolean startsWith(String prefix)测试此字符串是否以指定的前缀开始。 |
35 |
boolean startsWith(String prefix, int toffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 |
36 |
CharSequence subSequence(int beginIndex, int endIndex)返回一个新的字符序列,它是此序列的一个子序列。 |
37 |
String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。 |
38 |
String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。 |
39 |
char[] toCharArray()将此字符串转换为一个新的字符数组。 |
40 |
String toLowerCase()使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 |
41 |
String toLowerCase(Locale locale)使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 |
42 |
String toString() 返回此对象本身(它已经是一个字符串!)。 |
43 |
String toUpperCase()使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 |
44 |
String toUpperCase(Locale locale)使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。 |
45 |
String trim()返回字符串的副本,忽略前导空白和尾部空白。 |
46 |
static String valueOf(primitive data type x)返回给定data type类型x参数的字符串表示形式。 |
StringBuffer/StringBuilder
与String的区别
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
相关的方法
//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();
体会
今天的内容比较简单 快乐

timg.gif
在此对6711提出批评 和我争夺鼠标使用权
网友评论