arSequence
CharSequence是从JDK1.4开始提供的一个描述字符串标准的接口,常见的子类有三个:String、StringBuffer、StringBuilder。
CharSequence是String、StringBuffer、StringBuilder的父接口,它们都继承于CharSequence
CharSequence接口方法
方法 | 类型 | 描述 |
---|---|---|
public char charAt(int start,int index) | 普通 | 获取指定索引字符 |
public int length() | 普通 | 获取字符串长度 |
public CharSequence subSequence(int start,int end) | 普通 | 截取部分字符串 |
第一个例子:
package charsequence;public class JavaDemo1 { public static void main(String[] args) { CharSequence str1="welcome to the java coding center"; CharSequence char1=str1.subSequence(8,10); System.out.println(char1); }}//执行结果:to
String类是CharSequence接口子类,所以本程序利用对象向上转型的操作通过字符串的匿名对象实现了CharSequence父类接口对象实例化,随后调用了subSequence()方法实现了字符串的截取操作。
提示:开发中优先考虑String类。
StringBuffer类与StringBuilder类在日后主要用于修改字符串的操作上,但是在任何的开发中,面对字符串的操作,大部分情况下都优先考虑String,只有在频繁修改这一操作中才会考虑使用StringBuffer或StringBuilder。
2.AutoCloseble
在项目开发中,网络服务器或数据库的资源都是极为宝贵的,在每次操作完成后一定要及时释放才可以提供更多的用户使用。在最初的JDK设计版本都是各个程序类中提供了相应的资源你释放操作,而从JDK1.7版本开始提供AutoCloseble接口。这一接口的主要功能是结合异常处理结构在资源操作完成后实现自动释放功能,该接口的定义如下:
package charsequence;public interface AutoCloseble{public void Close() throws Exeption;//资源释放]
例子:使用AutoCloseble自动释放资源
package charsequence;interface IMessage extends AutoCloseable{//继承自动关闭接口 public void send();//发送消息} class NetMessage implements IMessage{//实现消息的处理机制 private String str1;//消息内容 public NetMessage(String str1){//保存消息的内容 this.str1=str1; } public boolean open(){//获取资源连接 System.out.println("[open]获取消息发送连接资源"); return true;//返回连接成功的标志 } public void send(){ if (this.open()){ if (this.str1.contains("java")){//通道已连接 throw new RuntimeException("欢迎关注Java编程中心");//抛出异常 } System.out.println("[***发送消息***]"+this.str1); } } public void close() throws Exception{ System.out.println("[close]关闭消息发送通道。");//重写自动关闭 }}public class JavaDemo2 { public static void main(String[] args) { //自动关闭处理机制需要在tr语句中获取实例化对象,而后才会在执行完毕后自动调用close() //不管是否产生异常处理最终都会调用Autocloseable接口的close()方法 try(IMessage img=new NetMessage("welcome to java coding center")) {//发送消息 img.send(); }catch (Exception e){ e.printStackTrace(); } }}
java培训学校:http://www.baizhiedu.com/java2019