如何转换String
到CharSequence
在Java中?
Answer 1:
由于String
IS-A CharSequence
,你可以传递一个String
,无论你需要CharSequence
,或指定一个String
到CharSequence
:
CharSequence cs = "string";
String s = cs.toString();
foo(s); // prints "string"
public void foo(CharSequence cs) {
System.out.println(cs);
}
如果您想将转换CharSequence
的String
,只需使用toString
必须由每一个具体执行来实现方法CharSequence
。
希望能帮助到你。
Answer 2:
直接的答案:
String s = "Hello World!";
// String => CharSequence conversion:
CharSequence cs = s; // String is already a CharSequence
CharSequence
是一个接口, String
类实现CharSequence
。
Answer 3:
CharSequence的是一个接口和字符串比StringBuilder的,StringBuffer的和许多其他的其它的实施方式的其之一。
因此,正如您使用InterfaceName i = new ItsImplementation()
您可以使用CharSequence cs = new String("string")
或简单CharSequence cs = "string";
Answer 4:
您可以使用
CharSequence[] cs = String[] {"String to CharSequence"};
Answer 5:
试图通过发布自己的麻烦,提供OP的一些问题(可能的)背景。 我在斯卡拉工作,但错误消息我得到的所有引用的Java类型和错误消息读起来很像编译器抱怨CharSequence的是不是一个字符串。 我在那个字符串实现的CharSequence接口的源代码证实,但错误信息提请注意String,并为CharSequence的区别,同时隐藏故障的真正来源:
scala> cols
res8: Iterable[String] = List(Item, a, b)
scala> val header = String.join(",", cols)
<console>:13: error: overloaded method value join with alternatives:
(x$1: CharSequence,x$2: java.lang.Iterable[_ <: CharSequence])String <and>
(x$1: CharSequence,x$2: CharSequence*)String
cannot be applied to (String, Iterable[String])
val header = String.join(",", cols)
我能解决这个问题,认识到问题不是字符串/ CharSequence的,而是java.lang.Iterable和Scala的内置可迭代之间的不匹配。
scala> val header = String.join(",", coll: _*)
header: String = Item,a,b
我的具体问题,也可以通过在回答解决斯卡拉:加入一个字符串迭代
总之,OP和其他人谁碰到过类似的问题应该非常密切的解析错误消息,看到可能涉及什么其他类型转换。