java中有些方法需要用到CharSequence 类型的参数,笔者百度了一下,总结出一下几点:
1、CharSequence 是一个接口,可以直接用“=”赋值一段字符串,但是不能用new新建一个对象(因为是接口)
CharSequence s = "abcdefg"; //true CharSequence s1 = new CharSequence("asdf"); //false
2、java中有三种字符串类型(据我所知,欢迎大家补充),分别是 String ,StringBuffer,StringBuilder这三种,而且每个类都实现了CharSequence 接口
所以对于String对象的方法中,如果以CharSequence作为参数类型的话,由向上转型的原理可以知道这样避免了许多问题。
3、涉及到CharSequence接口的String方法:
String.contentEquals(StringBuffer / CharSequence s)
String.contains(CharSequence s)
String.replace(CharSequence s1 ,CharSequence s2)