java中string的常用函数

本文深入解析Java中String类的构造方法、字符串变量与常量相加的区别、判断功能、获取功能及转换功能。涵盖字符串创建、长度获取、内容比较、子串截取、大小写转换等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 构造方法:

  • public String():创建String对象
  • public String(byte[] bytes):把字节数组转成字符串。
  • public String(byte[] bytes,int index,int length):把字节数组中的一部分转成字符串
  • public String(char[] value):把字符数组转成字符串
  • public String(char[] value,int index,int count):把字符数组的一部分转成字符串
  • public String(String original):把字符串转成字符串

注意问题:

  • 1:输出语句输出任何对象名称的时候,默认调用的是该对象的toString()方法。
  • 而toString()方法默认输出的是包名…类名@哈希值的十六进制。
  • 如果,你用输出语句输出一个对象名称的时候,发现不是这个格式,说明了该类重写了toString()方法。
  • 2:返回此字符串的长度
  • public int length()

二、String s = new String(“hello”)和String s =“hello”; 的区别:

==:比较的是引用类型,比较的是地址值即:

System.out.println(s1 == s2); // false

equal():默认比较的是地址值。String类重写了equals()方法,该方法的作用是比较字符串的内容是否相同

System.out.println(s1.equals(s2)); // true

三、 * 字符串变量相加:先开空间,再加内容

  • 字符串常量相加:先加,再找,没有再开空间

             String s1 = "hello";
    
             String s2 = "world";
    

String s3 = “helloworld”;

String s4 = s1 + s2;

String s5 = “hello”+“world”;
即s4和s5的区别。

四、String类的判断功能:

  • boolean equals(Object obj):比较字符串的内容是否相同,严格区分大小写

  • boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,不考虑大小写

  • boolean contains(String str):判断是否包含指定的小串

  • boolean startsWith(String str):判断是否以指定的字符串开头

  • boolean endsWith(String str):判断是否以指定的字符串结尾

  • boolean isEmpty():判断字符串的内容是否为空

五、String类的获取功能:

  • int length():返回字符串的长度。字符的个数。
  • char charAt(int index):返回字符串中指定位置的字符。
  • int indexOf(int ch):返回指定字符在字符串中第一次出现的位置
  • int indexOf(String str):返回指定字符串在字符串中第一次出现的位置
  • int indexOf(int ch,int fromIndex):返回指定字符从指定位置开始在字符串中第一次出现的位置
  • int indexOf(String str,int fromIndex):返回指定字符串从指定位置开始在字符串中第一次出现的位置
  • String substring(int start):返回从指定位置开始到末尾的子串
  • String substring(int start,int end):返回从指定位置开始到指定位置结束的子串----注意左包右不包

六、String的转换功能:

  • byte[] getBytes():把字符串转换为字节数组

  • char[] toCharArray():把字符串转换为字符数组

  • static String valueOf(char[] chs):把字符数组转成字符串

  • static String valueOf(int i):把int类型的数据转成字符串

  • 把任意类型转换为字符串的方法。

  • String toLowerCase():把字符串转小写

  • String toUpperCase():把字符串转大写

  • String concat(String str):字符串的连接

替换功能:

  • String replace(char old,char new)

  • String replace(String old,String new)

去除字符串空格:

  •  String trim()
    
### Java 中 `String` 类的常用方法 #### 创建字符串对象 可以通过多种方式创建 `String` 对象: - 使用字面量直接赋值: ```java String s1 = "hello"; ``` - 使用 `new` 关键字实例化: ```java String s2 = new String("world"); ``` 这两种方式虽然都能创建字符串,但在内存管理上有所不同。 #### 字符串比较 对于字符串的比较有几种常见的方式: - **使用 `==` 运算符** 此运算符用于判断两个字符串变量是否指向同一个对象。 ```java String s1 = new String("sjhfow"); String s2 = new String("wfwfw"); String s3 = new String("wfwfw"); System.out.println(s1 == s2); // false System.out.println(s2 == s3); // false ``` - **使用 `equals()` 方法** 该方法用来对比两个字符串的内容是否相同[^2]。 ```java boolean isEqualContent = s2.equals(s3); System.out.println(isEqualContent); // true 或者 false 取决于实际内容 ``` #### 获取字符长度 可以利用 `length()` 方法来获取字符串的字符数量。 ```java String greeting = "Hello world!"; int lengthOfGreeting = greeting.length(); System.out.println(lengthOfGreeting); // 输出 12 ``` #### 查找子串位置 通过 `indexOf()` 和 `lastIndexOf()` 来定位指定子串首次或最后一次出现的位置。 ```java String sentence = "This is a test string."; int firstOccurrence = sentence.indexOf("is"); // 返回 2 int lastOccurrence = sentence.lastIndexOf("is"); // 返回 5 ``` #### 提取部分字符串 可借助 `substring(int beginIndex)` 或 `substring(int beginIndex, int endIndex)` 抽取出特定范围内的子串。 ```java String fullName = "John Doe"; String firstName = fullName.substring(0, 4); // John String lastName = fullName.substring(5); // Doe ``` #### 转换大小写 支持将整个字符串转换成大写或小写字母形式。 ```java String lowerCaseStr = "HELLO".toLowerCase(); // hello String upperCaseStr = "world".toUpperCase(); // WORLD ``` #### 替换单个字符/全部匹配项 单个字符替换可通过 `replace(char oldChar, char newChar)` 实现;而批量替换则适用 `replaceAll(String regex, String replacement)` 函数。 ```java String originalText = "aaabbbccc"; String replacedSingleChar = originalText.replace('a', 'A'); // Aaabbbccc String allReplacedChars = originalText.replaceAll("[abc]", "*");// *** ``` #### 判断空白状态 能够检测字符串是否为空白(仅含空格或其他不可见字符),或是严格意义上的空(`""`)。 ```java String emptyString = ""; String blankSpaceOnly = " "; boolean isEmptyCheck = emptyString.isEmpty(); // true boolean isBlankCheck = blankSpaceOnly.trim().isEmpty(); // true ``` #### 比较字符串顺序 当需要按照字母表序排列时,可以用到 `compareTo()` 方法。它会返回负数、零或正数值表示当前字符串小于、等于还是大于另一个字符串。 ```java String wordOne = "apple"; String wordTwo = "banana"; int comparisonResult = wordOne.compareTo(wordTwo); // 小于0 表明 apple 排在 banana 前面 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值