如何将char转换为CharSequence?charAt()取字符后用contains()搜索的实现
解决char转CharSequence的几种实用方法
嘿,这个场景我太熟悉了——用charAt()拿到单个char后,想丢给contains()却发现参数类型不匹配对吧?别担心,有好几种简单的方式能搞定这个转换,核心逻辑就是String和CharBuffer本身就是CharSequence的实现类,直接把char转换成这两种类型就行:
方法一:用
String.valueOf()转换(最常用)
这是最简洁直观的方式,直接把char包装成String,完美适配contains()的参数要求:// 假设你已经从原字符串拿到了目标char char targetChar = originalString.charAt(3); // 转换后直接传入contains() boolean isContained = anotherString.contains(String.valueOf(targetChar));方法二:用
Character.toString()转换
和上面的方法效果完全一致,只是调用的是Character类的静态方法,写法上稍有不同:char targetChar = originalString.charAt(3); boolean isContained = anotherString.contains(Character.toString(targetChar));方法三:用
CharBuffer.wrap()包装
如果想更“原生”地处理字符序列,可以用CharBuffer来包装单个char的数组,CharBuffer同样实现了CharSequence接口:char targetChar = originalString.charAt(3); CharSequence charSeq = CharBuffer.wrap(new char[]{targetChar}); boolean isContained = anotherString.contains(charSeq);
个人推荐前两种方法,代码更简洁易懂,日常开发里用得最多。
内容的提问来源于stack exchange,提问作者Shitab
相关产品推荐
相关产品推荐

