Java方法记录
Array和List相互转化
Arrays.asList
把数组转化成List
1 | import java.util.Arrays; |
ArrayList.toArray(T[] arr) 把list转化成数组
1 | /** |
Optional
判断Object是否为空
1 | /******************************************************************************/ |
上面提到创建Optional
对象有三个方法,empty()
方法比较简单,没什么特别要说明的。主要是of()
和ofNullable()
方法。当你很确定一个对象不可能为null
的时候,应该使用of()
方法,否则,尽可能使用ofNullable()
方法,比如:
1 | public static void method(Role role) { |
orElse()
方法的使用
1 | return str != null ? str : "Hello World" |
上面的代码表示判断字符串str
是否为空,不为空就返回,否则,返回一个常量。使用Optional
类可以表示为:
1 | return strOpt.orElse("Hello World") |
简化if-else
1 | User user = ... |
上面的代码可以简化成:
1 | User user = ... |
String
trim() 删除头尾空格
1 | String Str = new String(" www.runoob.com "); |
split() 根据正则表达式拆分字符串
1 | public String[] split(String regex, int limit); |
public char[] toCharArray() 转化成char数组
1 | public class Test { |
indexOf() 查找指定字符串在字符串的下标
indexOf() 方法有以下四种形式:
public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30String string = "aaa456ac";
//查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1.
System.out.println(string.indexOf("b")); // indexOf(String str); 返回结果:-1,"b"不存在
// 从第四个字符位置开始往后继续查找,包含当前位置
System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex); 返回结果:6
//(与之前的差别:上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99
// 从头开始查找是否存在指定的字符
System.out.println(string.indexOf(99));//indexOf(int ch);返回结果:7
System.out.println(string.indexOf('c'));//indexOf(int ch);返回结果:7
//从fromIndex查找ch,这个是字符型变量,不是字符串。字符a对应的数字就是97。
System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex); 返回结果:6
System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex); 返回结果:6
String Str = new String("菜鸟教程:www.runoob.com");
String SubStr1 = new String("runoob");
String SubStr2 = new String("com");
System.out.print("查找字符 o 第一次出现的位置 :" );
System.out.println(Str.indexOf( 'o' ));
System.out.print("从第14个位置查找字符 o 第一次出现的位置 :" );
System.out.println(Str.indexOf( 'o', 14 ));
System.out.print("子字符串 SubStr1 第一次出现的位置:" );
System.out.println( Str.indexOf( SubStr1 ));
System.out.print("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" );
System.out.println( Str.indexOf( SubStr1, 15 ));
System.out.print("子字符串 SubStr2 第一次出现的位置 :" );
System.out.println(Str.indexOf( SubStr2 ));
valueOf() 把基本数据类型转化成String
1 | int i = 10; |
toUpperCase() toLowerCase()
这两个方法只对英文字母有效,对其余字符无影响。
转换成大写,转换成小写
charAt()
取索引处的字符
StringBuffer StringBulider
1 | sb.append() |
System
System.arraycopy
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src
:源数组;
srcPos
:源数组要复制的起始位置;
dest
:目的数组;
destPos
:目的数组放置的起始位置;
length
:复制的长度.
Integer.toBinaryString
把整数转化成二进制字符串