DESKTOP-QUF3J7K_20200827-柴宁宁
问题:
public CharSequence subSequence(int start, int end) {
// 检查start和end是否是有效数值
if(start >= 0 && end >= start && end <= chars.length) {
// 求截取的 子序列 的长度 ( 即字符数
int n = end - start ;
// 从当前对象的 chars 数组中取 [ start , end ) 之间的元素组成一个新数组
char[] arr = new char[ n ];
System.arraycopy(this.chars, start, arr, 0, n);
// 根据新的数组创建一个新的Characters对象
Characters c = new Characters( arr);
// 返回创建的Characters对象
return c ; // 方法的返回类型是 CharSequence,而 Characters是CharSequence的实现类
}
return null;
}
char[] chars = { '不', '破', '楼', '兰', '终', '不', '还' };
CharSequence cs = new Characters(chars);
CharSequence x = cs.subSequence(4, 4);
System.out.println(x);
start = end 时输出null
疑惑 参数end不包括 参数start 是包括的 所以说end == 4 应该往前取 在''兰'' 处 start 是“终” 相减为负,出现异常的,还是只是数字相减
吐槽:
额,今天学的真真充实 ,,hhh
点赞