看起来很奇怪,在有很多明显的实用程序实现时,没有名为CharSequences的助手在JDK中可用。任何人都知道一个有很多有用的CharSequences的库
- 重复字符
- 的char [] - 是的,我知道CharBuffer.wrap
- 填充 - 包装其他的CharSequence和垫 - 显然左,右版本
- 修剪 - 修剪的CharSequence向左或向右的空白。
- 引用 - 在另一个CharSequence周围添加引号。
等
随意,如果你想扩展列表...
看起来很奇怪,在有很多明显的实用程序实现时,没有名为CharSequences的助手在JDK中可用。任何人都知道一个有很多有用的CharSequences的库
等
随意,如果你想扩展列表...
检查在apache公地郎库StringUtils的 http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html
这是一个明显的答案,但这个类中没有一个“CharSequence”方法。 – 2011-02-08 14:30:03
&@Sean:Q说CharSequence不是String。每个人都知道StringUtils :) – 2011-02-09 00:52:39
无论是番石榴,也不阿帕奇百科全书/郎(也不是JRE库本身)具有基于CharSequence
接口的功能。
可以想象番石榴拥有类似这样的方法的CharSequences
类,但不幸的是,这样的方法所要求的几个问题已被拒绝。
在猜测它可能是因为不能保证CharSequence是不可变的,因为它的一个接口:( – 2011-02-09 00:54:35
@mP:最好的例子:[`StringBuilder`](http://download.oracle.com /javase/6/docs/api/java/lang/StringBuilder.html) – 2011-02-09 06:06:59
当然,任何需要不可变CharSequence的人都需要做一个toString()(如果它接受CharSequence) – 2011-02-10 08:14:06
该API不完全是你所描述的,并非所有的功能都可用,但Guava类CharMatcher
提供了它的一部分和一些更好的细节。
有一种-的,是以另一种方法库:它提供了为一些特定的使用情况优化CharSequence
implemntations :Ropes for Java
如果您在代码中使用Rope
,您可以调整用于加速常规操作的具体实现(连接,删除子目录,...)。
问题的一部分是,许多jQuery的API方法,可能采取CharSequence只采取字符串。因此,CharSequence的有用性是有限的(并且许多使用CharSequences的impls只需调用toString()
,否定了很多好处)。
那表示,这当然是一个有用的想法。现在可以使用重复版本。
坦率地说,我不知道你在问什么。将“CharSequence”作为输入的API不是您要查找的内容。 *生成* CharSequence的API不是您要查找的内容。 *实现*具有不同性能特征的API也不是您要查找的内容。 – 2011-02-10 08:18:40