-->

如何将字符串转换为CharSequence的?(How to convert a String to

2019-07-05 13:56发布

如何转换StringCharSequence在Java中?

Answer 1:

由于String IS-A CharSequence ,你可以传递一个String ,无论你需要CharSequence ,或指定一个StringCharSequence

CharSequence cs = "string";
String s = cs.toString();
foo(s); // prints "string"

public void foo(CharSequence cs) { 
  System.out.println(cs);
}

如果您想将转换CharSequenceString ,只需使用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和其他人谁碰到过类似的问题应该非常密切的解析错误消息,看到可能涉及什么其他类型转换。



文章来源: How to convert a String to CharSequence?