您的位置:首页 > 产品设计 > UI/UE

Java StringBuilder类

2016-09-23 23:12 204 查看
Java中接口的作用

接口表示一种规范,一种协议,它规定了凡是实现此接口的类必须有的行为和动作,从而统一Java源码中的许多类和实现,可以面向接口编程和实现多态的效果。因此,如果阅读jdk源代码,我们会发现大量的接口,这些接口定义了行为和规范,使得Java中庞杂的类统一起来,具体的接口方法的实现还要看Java的实现类。

自定义实现接口的类:

Java中定义了大量的接口,这些接口都要相应的许多实现,我们可以在不同场景下使用不同的实现,有的时候,可能现有的实现并不能满足我们的要求,于是我们可以自己实现jdk中的接口。

实现的方式有两种:

新建一个类实现接口,这种方式适用于复用类的场景

直接new一个接口,内部实现方法,这种方法适用于实现类只使用一次的情况。

CharSequence cs=new CharSequence() {
@Override
public CharSequence subSequence(int start, int end) {
// TODO Auto-generated method stub
return null;
}
@Override
public int length() {
// TODO Auto-generated method stub
return 1;
}
@Override
public char charAt(int index) {
// TODO Auto-generated method stub
return 1;
}
};
System.out.println(cs.length());
通过阅读jdk源码,我们发现,许多Java实现类都是实现了多个接口,每个接口定义了不同的动作,所以实现类同时拥有这些动作。

String、StringBuilder、StringBuffer都是基于char数组实现的,只是具体的实现不同,所以它们都实现了CharSequence接口

Java8的新特性,在接口中的方法前加default,可以在接口中实现该方法

StringBuilder是jdk1.5之后引入的新类,它和StringBuffer的API基本兼容,区别就是前者适用于单线程下的字符串操作,因此没有做同步,所以速度较快;而后者适用于多线程的字符串操作,做了同步处理,所以速度较慢,一般来说,我们优先选用StringBuilder完成操作,因为大部分字符串操作都是在单线程环境下进行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: