不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2021-05-25 23:47:39  修改时间:2024-04-13 17:51:18  分类:Java基础  编辑

CharSequence是一般类型,包括其它类型的像String,StringBuilder,SpannableString,和其他。如果要比较两个字符串,则可以使用.equals()。但是,如果将a String与a 进行比较CharSequence,则必须决定要比较的是什么,因为您可能会将a String与a StringBuilder或a SpannableString或其他东西进行比较。

仅比较内容

如果您只想将a的内容(即文本)String与a的StringBuilder进行比较CharSequence,而不必关心类型,则可以使用String.contentEquals()

String myString = "hello";
CharSequence myCharSequence = new StringBuilder("hello");

boolean areEqual = myString.contentEquals(myCharSequence); // true

比较内容和类型

如果您还想确保除内容之外的类型相同,请使用String.equals()

String myString = "hello";
CharSequence myCharSequence = new StringBuilder("hello");

boolean areEqual = myString.equals(myCharSequence); // false

这里还是相同的类型。

String myString = "hello";
CharSequence myCharSequence = "hello"; // String

boolean areEqual = myString.equals(myCharSequence); // true