String字符串
发布人:shili8
发布时间:2024-12-28 05:55
阅读次数:0
**Java中的String类**
在Java中,`String`类是最常用的类之一,它代表一个字符串序列。这个类提供了许多有用的方法来操作字符串。
###1. String类的定义
javapublic final class String implements Serializable, Comparable, CharSequence { // ... }
如上所示,`String`类实现了几个接口:`Serializable`、`Comparable`和`CharSequence`。这意味着它支持序列化(将对象转换为字节流)、比较和字符序列操作。
###2. String类的构造方法
javapublic String() { this.value = "".toCharArray(); } public String(int[] data) { if (data == null || data.length ==0) { throw new NullPointerException(); } value = Arrays.copyOf(data, data.length); } public String(String original) { if (original == null) { throw new NullPointerException(); } int len = original.value.length; char[] buf = new char[len]; original.getChars(buf,0, len); this.value = buf; }
`String`类有三个构造方法:
* 空参构造方法:创建一个空字符串。
* `int[]`参数构造方法:从一个整型数组中创建一个字符串。该数组中的元素代表了字符串的ASCII值。
* `String`参数构造方法:从另一个字符串中复制一个新字符串。
###3. String类的常用方法
javapublic int length() { return value.length; } public char charAt(int index) { if ((index < 0) || (index >= value.length)) { throw new StringIndexOutOfBoundsException(index); } return value[index]; } public CharSequence subSequence(int start, int end) { if (start < 0) { throw new StringIndexOutOfBoundsException(start); } if (end > value.length) { throw new StringIndexOutOfBoundsException(end); } char[] buf = Arrays.copyOfRange(value, start, end); return new String(buf); } public boolean equals(Object anObject) { if (this == anObject) { return true; } if (!(anObject instanceof String)) { return false; } String anotherString = (String) anObject; int n = value.length; if (anotherString.value.length != n) { return false; } char v1, v2; for (int i =0; i < n; i++) { v1 = value[i]; v2 = anotherString.value[i]; if ((v1 != v2) && !(charUtils.isAsciiHT(v1)) && !(charUtils.isAsciiHT(v2))) { return false; } } return true; }
`String`类提供了许多有用的方法:
* `length()`:返回字符串的长度。
* `charAt(int index)`:返回指定索引处的字符。
* `subSequence(int start, int end)`:返回从开始索引到结束索引(不含)的子序列。
* `equals(Object anObject)`:比较两个字符串是否相等。
###4. String类的使用示例
javapublic class Main { public static void main(String[] args) { // 创建一个空字符串 String emptyString = new String(); System.out.println("emptyString.length() = " + emptyString.length()); // 创建一个从整型数组中创建的字符串 int[] data = {72,101,108,108,111}; String stringFromData = new String(data); System.out.println("stringFromData = " + stringFromData); // 创建一个从另一个字符串中复制的新字符串 String originalString = "Hello"; String copiedString = new String(originalString); System.out.println("copiedString = " + copiedString); // 比较两个字符串是否相等 String str1 = "Hello"; String str2 = "World"; System.out.println("str1.equals(str2) = " + str1.equals(str2)); } }
上面的示例代码演示了如何使用`String`类的构造方法和常用方法。
###5. 总结在本文中,我们介绍了Java中的`String`类及其常用方法。我们讨论了`String`类的定义、构造方法和常用方法,包括`length()`、`charAt(int index)`、`subSequence(int start, int end)`和`equals(Object anObject)`等。最后,我们提供了一个使用示例代码来演示如何使用这些方法。
###6. 参考资料* [Java API 文档 - String]( />* [Java API 文档 - CharSequence](