我是靠谱客的博主 唠叨苗条,这篇文章主要介绍数组、字符串、字符常用操作,现在分享给大家,希望可以做个参考。

文章目录

    • 数组操作
      • 打印数组内容:Arrays.toString()
      • 数组排序:Arrays.sort()
      • 数组复制1:Arrays.copyOf()
      • 数组复制2:System.arraycopy()
      • 两数组是否相等:Arrays.equals()
    • 字符串操作
      • 串转化组:str.toCharArray()
      • 字符串截取:str.substring()
      • 字符获取:str.charAt()
      • 是否存在子串:str.contains()
      • 字符串分割:str.split()
      • 字符串置换:str.replace()
      • 串是否由空格组成:str.trim().isEmpty()
      • 字符串开头:str.startsWith()
    • 字符操作
      • 字符是否为字母:Character.isLetter()
      • 字符转整型:str.charAt(i) - '0'
      • 字符是否为字母/数字:Character.isLetterOrDigit()
    • StringBuffer操作
      • String转为StringBuffer
      • StringBuffer转为String
      • 字符串追加:append()
      • 字符串反转:reverse()


数组操作

打印数组内容:Arrays.toString()

复制代码
1
2
3
4
5
int[][] test = {{1,2,3}, {4,5,6}, {7,8,9}}; for (int i = 0; i < test.length; i++) { System.out.println(Arrays.toString(test[i])); }

toString方法源码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static String toString(int[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) return "[]"; // 往StringBuilder中追加元素 StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } }

数组排序:Arrays.sort()

复制代码
1
2
3
int[] nums = {4,3,5,6,7}; Arrays.sort(nums);

数组复制1:Arrays.copyOf()

复制代码
1
2
3
int[] arr= {4,3,5,6,7}; int[] temp = Arrays.copyOf(arr, arr.length);

copyOf()方法源码

复制代码
1
2
3
4
5
6
7
8
public static int[] copyOf(int[] original, int newLength) { int[] copy = new int[newLength]; // 调用另一个数组赋值函数 System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); return copy; }

数组复制2:System.arraycopy()

复制代码
1
2
3
4
int[] heights = {1,3,5,3,1}; int[] test = new int[heights.length]; System.arraycopy(heights, 0, test, 0, heights.length);

两数组是否相等:Arrays.equals()

复制代码
1
2
Arrays.equals(chars, chars1);

字符串操作

串转化组:str.toCharArray()

复制代码
1
2
3
String str = "a-bC-dEf-ghIj"; char[] cs = Str.toCharArray();

toCharArray()方法源码

复制代码
1
2
3
4
5
6
7
8
public char[] toCharArray() { // Cannot use Arrays.copyOf because of class initialization order issues char result[] = new char[value.length]; // 使用的是System.arraycopy()数组复制方法 System.arraycopy(value, 0, result, 0, value.length); return result; }

字符串截取:str.substring()

复制代码
1
2
3
4
//第一个substring:从第n个字符开始截取到最后一个字符 //第二个substring:从0开始截取到第n个字符 return s.substring(n) + s.substring(0, n);

字符获取:str.charAt()

复制代码
1
2
3
// 获取第i个字符和第j个字符 str.charAt(i) != str.charAt(j)

是否存在子串:str.contains()

复制代码
1
2
3
// 字符串"abc"中是否存在子串"ab" "abc".contains("ab")

字符串分割:str.split()

复制代码
1
2
3
// 使用空格将字符串分割成若干份子字符串 String[] s1 = str.split(" ")

字符串置换:str.replace()

复制代码
1
2
3
// 将字符串str中的"."串置换为"[.]" str.replace(".", "[.]");

串是否由空格组成:str.trim().isEmpty()

复制代码
1
2
3
4
5
6
String str = " "; if (str.trim().isEmpty()) { System.out.println("是由空格组成"); }

字符串开头:str.startsWith()

复制代码
1
2
3
4
5
String str = "ROLE_lwz"; if (str.startsWith("ROLE_")) { System.out.println("字符串是以ROLE_开头"); }

字符操作

字符是否为字母:Character.isLetter()

复制代码
1
2
3
4
5
6
for (char c : str.toCharArray()) { // 判断字符是否是字母 if (Character.isLetter(c)) { } }

字符转整型:str.charAt(i) - ‘0’

复制代码
1
2
3
// 将字符串中的每个字符取出后减去字符‘0’ num1.charAt(i) - '0'

字符是否为字母/数字:Character.isLetterOrDigit()

复制代码
1
2
3
// 判断字符是否为数字或者字母 Character.isLetterOrDigit(ch)

StringBuffer操作

String转为StringBuffer

复制代码
1
2
StringBuffer stringBuffer = new StringBuffer(str);

StringBuffer转为String

复制代码
1
2
stringBuffer.toString();

字符串追加:append()

复制代码
1
2
3
4
// 往StringBuilder中追加元素 StringBuilder b = new StringBuilder(); b.append('[');

字符串反转:reverse()

复制代码
1
2
b.reverse();

最后

以上就是唠叨苗条最近收集整理的关于数组、字符串、字符常用操作的全部内容,更多相关数组、字符串、字符常用操作内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部