---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
一、StringBuffer与StringBuilder
在Java中,字符串的操着是最长用的操作之一了,因为String对象不会改变这一原因,所以如果要进行大量的字符串连接操作时是非常浪费空间的,在字符串连接中,String类会产生很多垃圾对象。为了提高性能,应该使用StringBuffer或者StringBuilder类进行字符串的修改操作。
StringBuffer与StringBuilder的区别在于:StringBuffer是线程安全的,而StringBuilder是线程不安全的,所以,StringBuilder的效率要高于StringBuffer,在工作中推荐使用StringBuilder。当然,如果多个线程同时操作一个对象的话,还要根据情况自己选择。这两个类的使用方式完全一样,就以StringBuilder类来说明该类的常用操作:
package com.itheima.library;
/**
* Java常用类库
* @author Administrator
*
*/
public class CommonLibrary {
public static void main(String[] args) {
//验证字符串是不会改变的
String str = "aa12";
changeString(str);
//str的内容没有改变
System.out.println(str);
StringBuilder mBuilder = new StringBuilder();
//StringBuilder的内容会改变的
//验证
changeStringBuilder(mBuilder);
System.out.println(mBuilder);
//字符串追加
mBuilder.append("aaa").append("bbbb");
System.out.println(mBuilder);
//字符串插入,在索引为11的位置上加入cccc字符串
//这点需要注意,插入的位置一定要在原来的长度范围之内。
mBuilder.insert(11, "cccc");
System.out.println(mBuilder);
//反转操作
mBuilder.reverse();
System.out.println(mBuilder);
//删除指定范围的字符
mBuilder.delete(4, 7);
System.out.println(mBuilder);
}
//为了说明String对象是不会改变的,可以用这段代码测试
public static void changeString(String src){
src = src + "122333";
}
//验证StringBuilder的内容是会改变的。
public static void changeStringBuilder(StringBuilder mBuilder){
mBuilder.append("内容发生了改变。。。。");
}
}
二、Runtime类
Runtime类表示的是Java运行环境相类,该类的实例化过程是由Java虚拟机进行的,通过该类可以获取Java虚拟机的信息,如果想要获取该类的对象只能通过getRuntime()方法获取。
package com.itheima.library;
import java.util.concurrent.TimeUnit;
public class CommonLibrary1 {
public static void main(String[] args)throws Exception {
System.out.println("--");
Runtime mRuntime = Runtime.getRuntime();
//启动eclipse
Process process = mRuntime.exec("eclipse.exe");
TimeUnit.SECONDS.sleep(5);
//5秒之后关闭
process.destroy();
}
}
三、System类
System类中的方法都是静态的,其中最常用的方法就是System.out();System.in();System.currentTimeMillis(); 另外System类可以获取运行环境的一些信息,System.getProperties();
四、日期操作类
主要的类有:Date(基本日期类),DateFormat与SimpleDateFormat(日期格式化类), Calendar(日历类,里面封装了大量的日期计算的方式)
package com.itheima.library;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 日期操作类
*/
public class CommonLibrary2 {
public static void main(String[] args) throws Exception{
//获取当前日期
Date date = new Date();
//格式化当前日期
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(date));
String currDateStr = "2014-01-29 15:48:00";
//把字符串的日期形式转化为long类型的时间格式
System.out.println(df.parse(currDateStr).getTime());
//Date类在使用的时候存在局限性,特别是对于日期的操作上,官方文档中建议我们如果要对日期类进行运算
//就要用到Calendar类
Calendar mCalendar = Calendar.getInstance();
//得到当前的年份
System.out.println(mCalendar.get(Calendar.YEAR));
//获取当前的月份,
System.out.println(mCalendar.get(Calendar.MONTH+1));
//获取当前是一个月中的几号
System.out.println(mCalendar.get(Calendar.DAY_OF_MONTH));
//日期类的计算
//13个小时前的时间
mCalendar.add(Calendar.HOUR_OF_DAY, -13);
System.out.println(df.format(mCalendar.getTime()));
//获取当年最后一天的日期的long类型
mCalendar.set(Calendar.YEAR, mCalendar.get(Calendar.YEAR));
mCalendar.set(Calendar.MONTH, 11);
mCalendar.set(Calendar.DAY_OF_MONTH,31);
mCalendar.set(Calendar.HOUR_OF_DAY, 23);
mCalendar.set(Calendar.MINUTE,59);
mCalendar.set(Calendar.SECOND,59);
mCalendar.set(Calendar.MILLISECOND,999);
System.out.println(df.format(mCalendar.getTime()));
}
}
五、Math、Random、BigDecimal(精确的数据计算)、NumberFormat与DecimalFormat(数字格式化类)这写类需要经常使用,慢慢就能记得住
六、正则表达式
在Java中使用正则表达式能解决很多复杂的问题,所以,正则表达式非常重要【表示--正则这块不是太熟悉,不能够有效的作出总结】个人看到一篇博客中对正则的总结非常好,在这里感谢这位仁兄分享:http://blog.csdn.net/allwefantasy/article/details/3136570。感觉很惭愧,当然也不能只加个别人的链接在笔记中,下面写下自己对正则的练习案例:
package com.itheima.library;
import java.util.Arrays;
import java.util.List;
/**
* 正则表达式练习
* 处理字符串<font face="Arial,Serif" size="+2" color="red"/>
* 处理之后变为:
* face Arial,Serif
* size +2
* color red
*/
public class CommonLibrary3 {
public static void main(String[] args) {
String str = "<font face=\"Arial,Serif\" size=\"+2\" color=\"red\"/>";
String[] sbuStrs = str.split("\\s+");
String[] newSub = new String[sbuStrs.length-1];
//截取数组
System.arraycopy(sbuStrs, 1, newSub, 0, newSub.length);
for (String string : newSub) {
System.out.println(string.replaceAll("(=)?\"(/>)?", " "));
}
}
}
七、Java中的定时任务调度TimerTask类
在Java中提供了定时任务的类库,能够实现在么某个时间开始间隔多少时间执行一段任务【虽然在Java高新技术里面有更好的定时任务的实现方式,但是作为开发者需要知道这块内容】
package com.itheima.library;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class CommonLibrary4 {
public static void main(String[] args) {
//定时输出当前时间
new Timer().schedule(new TimerTask() {
@Override
public void run() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(new Date()));
}
}, 1000, 1000);
}
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net