我是靠谱客的博主 唠叨苗条,最近开发中收集的这篇文章主要介绍数组、字符串、字符常用操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 数组操作
      • 打印数组内容: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()

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方法源码

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()

int[] nums = {4,3,5,6,7};
Arrays.sort(nums);

数组复制1:Arrays.copyOf()

int[] arr= {4,3,5,6,7};
int[] temp = Arrays.copyOf(arr, arr.length);

copyOf()方法源码

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()

int[] heights = {1,3,5,3,1};
int[] test = new int[heights.length];
System.arraycopy(heights, 0, test, 0, heights.length);

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

Arrays.equals(chars, chars1);

字符串操作

串转化组:str.toCharArray()

String str = "a-bC-dEf-ghIj";
char[] cs = Str.toCharArray();

toCharArray()方法源码

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()

//第一个substring:从第n个字符开始截取到最后一个字符
//第二个substring:从0开始截取到第n个字符
return s.substring(n) + s.substring(0, n);

字符获取:str.charAt()

// 获取第i个字符和第j个字符
str.charAt(i) != str.charAt(j)

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

// 字符串"abc"中是否存在子串"ab"
"abc".contains("ab")

字符串分割:str.split()

// 使用空格将字符串分割成若干份子字符串
String[] s1 = str.split(" ")

字符串置换:str.replace()

// 将字符串str中的"."串置换为"[.]"
str.replace(".", "[.]");

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

String str = "
";
if (str.trim().isEmpty()) {
System.out.println("是由空格组成");
}

字符串开头:str.startsWith()

String str = "ROLE_lwz";
if (str.startsWith("ROLE_")) {
System.out.println("字符串是以ROLE_开头");
}

字符操作

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

for (char c : str.toCharArray()) {
// 判断字符是否是字母
if (Character.isLetter(c)) {
}
}

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

// 将字符串中的每个字符取出后减去字符‘0’
num1.charAt(i) - '0'

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

// 判断字符是否为数字或者字母
Character.isLetterOrDigit(ch)

StringBuffer操作

String转为StringBuffer

StringBuffer stringBuffer = new StringBuffer(str);

StringBuffer转为String

stringBuffer.toString();

字符串追加:append()

// 往StringBuilder中追加元素
StringBuilder b = new StringBuilder();
b.append('[');

字符串反转:reverse()

b.reverse();

最后

以上就是唠叨苗条为你收集整理的数组、字符串、字符常用操作的全部内容,希望文章能够帮你解决数组、字符串、字符常用操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部