如何在Java中转换字符串到CharSequence ?
当前回答
CharSequence是一个接口,而String是它的实现之一,而不是StringBuilder、StringBuffer和许多其他实现。
所以,就像你使用InterfaceName i = new ItsImplementation(),你可以使用CharSequence cs = new String(" String ")或简单的CharSequence cs = " String ";
其他回答
直接的答案:
String s = "Hello World!";
// String => CharSequence conversion:
CharSequence cs = s; // String is already a CharSequence
CharSequence是一个接口,String类实现了CharSequence。
CharSequence是一个接口,而String是它的实现之一,而不是StringBuilder、StringBuffer和许多其他实现。
所以,就像你使用InterfaceName i = new ItsImplementation(),你可以使用CharSequence cs = new String(" String ")或简单的CharSequence cs = " String ";
试图通过发布我自己的麻烦来为OP的问题提供一些(可能的)背景。我在Scala工作,但错误消息我得到的所有引用Java类型,错误消息读起来很像编译器抱怨CharSequence不是字符串。我在源代码中确认,String实现了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)
我能够解决这个问题,意识到问题不是String / CharSequence,而是java.lang.Iterable和Scala内置Iterable之间的不匹配。
scala> val header = String.join(",", coll: _*)
header: String = Item,a,b
我的特殊问题也可以通过Scala的答案来解决:加入一个字符串的可迭代对象
总之,OP和其他遇到类似问题的人应该非常仔细地解析错误消息,并查看可能涉及的其他类型转换。
你可以使用
CharSequence[] cs = String[] {"String to CharSequence"};
由于String是- a CharSequence,你可以在任何需要CharSequence的地方传递一个String,或者将一个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的每个具体实现实现。
推荐文章
- urlencoder .encode(字符串)已弃用,我应该使用什么代替?
- javax.transaction.Transactional vs . org.springframework.transaction.annotation.Transactional
- Java 8接口方法中不允许“同步”的原因是什么?
- 如何找到Java堆大小和内存使用(Linux)?
- c#:如何获得一个字符串的第一个字符?
- String类中的什么方法只返回前N个字符?
- 我可以将c#字符串值转换为转义字符串文字吗?
- 使用Enum实现单例(Java)
- RabbitMQ与通道和连接之间的关系
- buildSessionFactory()配置方法在Hibernate中已弃用?
- Spring MVC -如何获得所有的请求参数在一个地图在Spring控制器?
- 在c#中解析字符串为日期时间
- 如何在Java中按两个字段排序?
- 文件之间的差异。路径中的分隔符和斜杠
- 字符串中的单词大写