1

声明地图时,可以选择String或者CharSequence;

Map<String, String> lexicalizationGraph = ChronicleMap
    .of(String.class, String.class)
    .name("lexicalizations-chronicle-map")
    .entries(1_000_000_000L)
    .constantKeySizeBySample("bn:14271053n")
    .createPersistedTo(file);

String和之间有什么重要区别CharSequence吗?

4

2 回答 2

-1

CharSequence 是 String 实现的接口,其他实现 CharSequence 的类有 CharBuffer、Segment、StringBuffer、StringBuilder。

因此,如果您想专门映射 String,请使用它,或者如果您想要任何类型的 CharSequence,请使用它。

于 2020-01-17T11:05:09.343 回答
-1

Java中CharSequence和String的区别

CharSequence 是一个表示字符序列的接口。此接口不强制执行可变性。因此,可变类和不可变类都实现了这个接口。

String 是 Java 中的一个字符序列。它是一个不可变的类,也是 Java 中最常用的类型之一。此类实现 CharSequence、Serializable 和 Comparable 接口。

由于 String 是不可变的,因此对它的每个操作都会创建一个新的 String 例如

String test = "a";
test = test + "B";

在这种情况下,您创建了两个不同的字符串

如果你使用 StringBuffer StringBuilder 因为它们都是可变的,在这种情况下你只创建一个实例

StringBuilder test = new StringBuilder("a");
test.append("B");

你可以选择 CharSequence 只是意味着你可以选择 CharBuffer、Segment、StringBuffer、StringBuilder。

于 2020-01-17T11:09:24.643 回答