java - 如何在 Apache Commons CharSet 中包含插入字符 ^?

标签 java apache-commons apache-commons-lang

Apache Commons CharSet 类有自己的 syntax for characters to be included in the set .在该语法中,插入符号 (^) 具有特殊含义(否定),但没有任何文档说明如何在集合本身中包含插入符号而不否定其后的字符。 例如,以下意外返回 false:

CharSet.getInstance("!@#$%^&").contains('&');

有趣的是,以下返回 true,我认为这是一个错误(尽管 JavaDoc 没有指定它应该的行为方式):

CharSet.getInstance("!@#$%^&").contains('^')

更新:请参阅下面@Duncan 的评论以了解此行为的解释)

我的问题是,如何指定包含 ^ 作为字符的 CharSet 而不影响集合中的其他字符?

最佳答案

getInstance 方法如下所示:

 public static CharSet getInstance(String... setStrs) 

根据javadoc这样做是完全有效的(并且有记录):

CharSet.getInstance("^", "!@#$%&").contains('^')

关于java - 如何在 Apache Commons CharSet 中包含插入字符 ^?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27070515/

相关文章:

intellij-idea - 用 Java 8 的 Comparator.comparing(...).thenComparing(...) 替换 CompareToBuilder

java - Java 中的 corba 问题

java - 使用比较器排序 - 空指针异常

java - 将 long 转换为整数是如何工作的?

java - 执行exe并读取OutputStream

java - 使用 apache commons 配置 xpath 查询具有属性的空 XML 元素

java - 如何使 JTable 在 Java 中可编辑

java - 使用 Apache Commons 进行 base64 字符串解码

java - 安全地解析数字并且对区域设置敏感

java - JPa/hibernate/JUnit : How to use a proper method of reflection in the ToString?