我想知道一个字符串是否是集合。我已经阅读了相关资料,但仍感到困惑。
字符串是表示字符序列的不可变对象(String实现了CharSequence接口)。
与char数组和char集合的主要区别在于:字符串不能被修改,无法添加/删除/替换字符(忽略反射操作)。
它们在内部由字符数组、偏移量和长度组成(这允许创建轻量级子字符串,使用相同的字符数组)。
例如:['F','o','o','H','e','l','l','o',' ','W','o','r','l','d'], 偏移量=3,字符数=5,对应的子字符串为"Hello"
。
字符串是String
类的对象,它不是一个Collection
。它是基于字符数组实现的。您可以在下面的代码片段中看到:
public final class String implements
java.io.Serializable, Comparable<String>, CharSequence
{
private final char value[];
Collection<E>
接口。CharSequence
接口)。String
类可能会使用字符数组,尽管我很确定规范没有强制要求这样做。不,它不是一个数组或集合。然而,如果你需要一个字符数组并且有一个字符串,有一个方便的方法,即String.toCharArray(); 你可以像这样使用它。
// Prints the String "Hello, World!" as a char[].
System.out.println(Arrays.toString("Hello, World!".toCharArray()));
String
类只是一个允许你创建字符串对象的类。像所有类一样,它通过自己的方法使得使用这些对象更加容易。
字符数组是一个字符串,但它的方法与数组或数组元素有关。
例如,如果你想要在一个String
类的字符串中查找字符的位置,那么你可以使用一个叫做IndexOf的方法。但是,如果你想在一个字符数组中查找字符,那么你就必须手动使用循环来完成。