Contents

常用函数

将字符串转换为字符:

1
2
String str = "42";
char[] chars = str.toCharArray();

去除字符串的空格:

 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
30
31
32
String trim //trim()方法移除字符串两侧(头尾)的空白字符(空格、tab键、换行符)
String strip
    
    
    
1trim()方法不足之处

trim()早在Java早期就存在当时Unicode还没有完全发展到我们今天广泛使用的标准

trim()方法移除字符串两侧的空白字符(空格tab键换行符)

支持Unicode的空白字符的判断应该使用isWhitespace(int)

此外开发人员无法专门删除缩进空白或专门删除尾随空白

简单得说就是trim()方法无法删除掉Unicode空白字符但用Character.isWhitespace©方法可以判断出来

2strip()方法

JAVA11(JDK11)中的strip()方法适用于字符首尾空白是Unicode空白字符的情况通过一段代码来具体看一下

public static void main(String[] args) {
String s = \t abc \n;
System.out.println( abc.equals(s.trim()));//true
System.out.println(abc.equals(s.trim()));//true
Character c = \u2000;
String s1 = c + abc + c;
System.out.println(Character.isWhitespace©);//true
System.out.println(s1.equals(s1.trim()));//true,trim无法删除Unicdoe空白字符
System.out.println(abc.equals(s1.strip()));//true
}
上面输出结果都是true Character c = \u2000;\u2000就是Unicdoe空白字符

切割字符串:

1
2
3
String substring(int beginIndex, int endIndex)
    
    得到的字符从beginIndex到endIndex-1

构建字符串:

1
2
3
4
5
6
7
StringBuilder build=new StringBuilder();//构造StringBuilder

build.append(String s);//向StringBuilder中添加元素,可以是字符串或字符,也可以是其他值,具体请参照API
build.append(char c);

build.toString();//将StringBuilder转换为String

依次读取字符串中的字符:

1
2
3
4
char charAt(int index)
//例如:
    String str = "42";
	char chars=str.charAt(0);//'4'

整型的极值:

1
2
int max=Integer.MAX_VALUE;//2147483647
int min=Integer.MIN_VALUE;//-2147483648

将字符串转换为数字:

1
2
String str = "42";
int a=Integer.parseInt(str);//42

将字符转换为字符串:

1
tring str=String.valueOf('2');
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
一、string 和int之间的转换

1、string转换成int  :Integer.valueOf("12")

2、int转换成string : String.valueOf(12)

二、char和int之间的转换

1、首先将char转换成string

String str=String.valueOf('2')

2、转换

Integer.valueof(str) 或者Integer.PaseInt(str)

Integer.valueof返回的是Integer对象,Integer.paseInt返回的是int

优先队列(堆):

1
2
3
4
5
6
7
8
//默认是小顶堆,即最小的值在根结点
//可以通过重写comparator,作为比较器传入构造函数中,将其修改为大顶堆
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });

打印数组:

1
2
int[] nums = {1, 3, -1, -3, 5, 3, 6, 7};
System.out.println(Arrays.toString(a));

将字符数组转换为字符串

1
2
char[]   data={'a','b','c'};   
String  s=new   String(data);