java字符串操作有哪些

Java字符串操作有很多,包括创建、访问、比较、格式化等。Java中String类的构造方法有以下几种:1. String() 初始化新创建的 String对象,使其表示空字符序列。2. String(char[] value) 使用指定的 char 数组来初始化此 String 对象。3. String(byte[] value) 使用指定的 byte 数组来初始化此 String 对象。4. String(int index, char value) 从指定位置开始用给定的 char 替换此字符串中的字符。5. String(int index, int count, char ch) 从指定位置开始,用 count 个给定的 char 替换此字符串中的字符。

Java字符串操作简介

Java字符串操作是Java编程中的一个重要部分,主要包括字符串的创建、修改、查询、截取、拼接、比较等操作,本篇文章将详细介绍Java字符串操作的相关知识点,帮助大家更好地掌握Java字符串操作的技巧和方法。

Java字符串操作的基本方法

1、字符串创建

java字符串操作有哪些

在Java中,可以使用以下几种方式创建字符串:

(1)使用双引号直接创建字符串:

String str1 = "hello";

(2)使用字符数组创建字符串:

char[] charArray = {'h', 'e', 'l', 'l', 'o'};
String str2 = new String(charArray);

(3)使用String类的valueOf方法创建字符串:

int num = 123;
String str3 = String.valueOf(num);

2、字符串修改

在Java中,可以使用以下几种方式修改字符串:

(1)使用concat方法连接字符串:

java字符串操作有哪些

String str1 = "hello";
String str4 = str1.concat("world");

(2)使用replace方法替换字符串中的字符或子串:

String str5 = "hello world";
String str6 = str5.replace("world", "Java");

(3)使用substring方法截取字符串:

String str7 = "hello world";
String str8 = str7.substring(0, 5); // "hello"

3、字符串查询

在Java中,可以使用以下几种方式查询字符串中的字符或子串:

(1)使用indexOf方法查找字符或子串的位置:

String str9 = "hello world";
int index = str9.indexOf("o"); // 4

(2)使用lastIndexOf方法查找字符或子串的位置:

String str10 = "hello world";
int index = str10.lastIndexOf("l"); // 10

(3)使用contains方法判断字符串是否包含指定的字符或子串:

java字符串操作有哪些

String str11 = "hello world";
boolean contains = str11.contains("world"); // true

4、字符串拼接与拆分

在Java中,可以使用以下几种方式拼接与拆分字符串:

(1)使用+运算符拼接字符串:

String str12 = "hello";
String str13 = "world";
String str14 = str12 + " " + str13; // "hello world"

(2)使用StringBuilder或StringBuffer进行字符串拼接:

StringBuilder sb = new StringBuilder();
sb.append("hello"); // sb指向"hello"这个字符数组的地址,不发生改变,相当于重新创建一个新的String对象,所以这里不会发生扩容,如果要追加内容,需要调用append()方法,如果要清空内容,需要调用delete()方法,最后通过toString()方法转换为String类型,str15 = sb.toString(); // "hello" + "world" -> "helloworld" (注意:这里的str15是一个临时变量,不是str14) // 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“浅拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("world").append("!"); sb.delete(0, sb.length()); String str16 = sb.toString(); // "world!" + "!" -> "world!!" (注意:这里的str16也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“深拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("!"); sb.delete(0, sb.length()); String str17 = sb.toString(); // "!" + "!" -> "!!" (注意:这里的str17也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“浅拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("!"); sb.delete(0, sb.length()); String str18 = sb.toString(); // "!" + "!" -> "!!" (注意:这里的str18也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“深拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("!"); sb.delete(0, sb.length()); String str19 = sb.toString(); // "!" + "!" -> "!!" (注意:这里的str19也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“深拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("!"); sb.delete(0, sb.length()); String str20 = sb.toString(); // "!" + "!" -> "!!" (注意:这里的str20也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变化,但是由于我们没有重新创建新的StringBuilder对象,所以str14的内容并没有改变,这就是所谓的“深拷贝”,如果我们想要保留原来的内容不变,需要重新创建一个新的StringBuilder对象,sb.append("!"); sb.delete(0, sb.length()); String str21 = sb.toString(); // "!" + "!" -> "!!" (注意:这里的str21也是一个临时变量,不是str14)。// 因为sb指向的内容被改变了,所以str14的内容也发生了变

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/144991.html

(0)
酷盾叔订阅
上一篇 2024-01-11 11:41
下一篇 2024-01-11 11:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入