首页 > 代码库 > Java 之 常用类(二)
Java 之 常用类(二)
1.StringBuffer
a.StringBuffer 与 String:①StringBuffer是一个全新的类型,与String没有继承关系
②StringBuffer的出现是为了解决String内容不可变的问题,它是可变的
③StringBuffer绝不享受String的特殊语法(什么“+”号拼接、直接赋值String常量)
StringBuffer sb = new StringBuffer("hello");
b.常用方法:
StringBuffer sb2 = sb.append("world"); //StringBuffer在字符串末尾做拼接 sb2 = sb2.insert(5, " "); //StringBuffer在字符串对应位置做拼接
注:它的方法完全没有String丰富,大部分方法都是和拼接或删除有关,需要传入位置下标
2.StringBuilder
StringBuilder 是 StringBuffer 的改进版,区别在于:
①StringBuilder 性能比 StringBuffer 高
②但是,StringBuilder 线程不安全(单线程),而 StringBuffer 线程很安全
3.包装类
a.分类:Integer、Character、Byte、Short、Long、Float、Double、Boolean
b.作用:①丰富了基本数据类型只能存放值的问题,还可以提供大量的方法或常量
②包装类充当了基本数据类型和引用数据类型的桥梁
c.应用:基本数据类、包装类型和String类型三者的任意转换
4.基本数据类型——包装类
a.基本 转 包装:
int a = 100; Integer in = new Integer(a); //标准做法 in = 250; //★自动封箱---JDK1.5以后提供
b.包装 转 基本:
Integer in = 300; int b = in.intValue(); //标准做法 b = in; //★自动拆箱---JDK1.5以后提供
5.包装类——String
a.String 转 包装:
String str = "125"; Integer in = new Integer(str);
b.包装 转 String:
Integer in = 325; String str = in.toString(); //标准做法 String str1 = in + ""; //其实本质还是在调用in的toString方法
6.String——基本
a.String 转 基本:
String str = "275"; int i = Integer.parseInt(str); //★将字符串String转换为基本数据类型
b.基本 转 String:
int i = 78; String str = Integer.toString(i); String str1 = i + "";
7.Date 类 —— java.util
a.作用:Date 类用来封装了时间日期
long now2 = System.currentTimeMillis(); //可以直接通过这个方法获得当前时间的毫秒数
b.局限性:由于Date这个类型出现的较早,经历了时间原点的变迁,以及JDK版本的变迁,所以有很多的过时方法
c.目前的使用场景:①获取程序运行的当前时间还是用Date最方便
②SimpleDateFormat类可以自定义格式化输出日期时间字符串
③Date在各版本中都可以使用,因而成为表示时间日期的首选
Date now = new Date(); //获取当前时间的Date对象 now = new Date(0L); //根据传入的long类型毫秒数表示时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 a hh:mm:ss:SSS E"); String msg = sdf.format(now);
d.缺点:①根据指定的年月日时分秒来设置对象的值----方法已经都过时了
②难于取出时间日期的一部分(比如年、月)进行单独的时间运算。
e.解决:使用Calendar这个替代类进行操作
8.Calendar类——日历类
a.由于Calendar是抽象类,可通过.getInstance()直接获取子类对象
Calendar cal = Calendar.getInstance(); //使用设计模式帮助我们直接获取到Calendar的子类对象,里面对应的就是当前日期时间
b.Calendar的set/get方法
cal.set(1992,2,14); cal.set(cal.YEAR,1992); cal.get(cal.YEAR);
注:java中,月份是从0开始的,星期是从周日开始的,因此使用时要进行-1操作
c.Calendar ---> Date
Date birthday = cal.getTime(); //方法一 Date birthday = new Date(cal.getTimeInMillis()); //方法二 String dayOfWeek = new SimpleDateFormat("E").format(birthday); //Date 与 SimpleDateFormat 的共同使用
9.Properties
a.特点:①集合类:Properties是一个集合类,以键值对的方式存放数据;同时兼具可以操作属性文件(一种特殊格式的文本文件)
②操作文件:Properties 同时兼具可以操作属性文件(一种特殊格式的文本文件)
b.申明:首先产生Properties集合容器
Properties props = new Properties();
c.增加:①调用setProperty方法放入元素,每个元素都是一对键值对
②第一个参数是键,要求不能重复
③第二个参数是值
props.setProperty("J134001", "chenGuo"); props.setProperty("J134002", "张鹏"); props.setProperty("J134003", "张凯");
d.修改:如果出现放入重复值的情况,相当于修改而不是新增
props.setProperty("J134003", "罗一修");
e.取/查:通过键取集合中的值,如果键不存在则返回null
String name = props.getProperty("J134001");
System.out.println(name);
f.删除:根据键删除整个键值对
props.remove("J134002");
g.长度:获得容器中的元素个数
int size = props.size();
10.★Properties 操作文件★
a.Properties操作的文件必须是固定格式的文本文件---属性文件---将是工作中使用率排名第二的配置文件
b.看文件:.store方法
props.store(new FileOutputStream("file/student.properties"), "");
c.读文件:.load方法
Properties newProps = new Properties(); newProps.load(new FileInputStream("file/student.properties"));
Java 之 常用类(二)