基本类库
StringBuffer
类:
public final class StringBuffer
extends Object
implements Serializable, CharSequence
构造 | public StringBuffer() |
---|---|
有参构造 | public StringBuffer(String str) |
添加数据 | public StringBuffer append(数据类型 变量) |
String类对象变为StringBuffer可以依靠构造方法或者append()方法 |
---|
所有类对象都可以通过toString()方法将其变为String类型 |
追加数据 | public StringBuffer insert(int offset,数据类型 b) :offset 索引 |
---|---|
删除指定范围的数据 | public StringBuffer delete(int start,int end) |
字符串反转 | public StringBuffer reverse() |
面试题:请解释String、StringBuffer、StringBuilder的区别?
- String类是字符串的首选类型,其最大的特点是内容不允许修改;
- StringBuffer与StringBuilder类的内容允许修改;
- StringBuffer是在JDK1.0的时候提供的,属于线程安全的操作(synchronized),而StringBuilder是在JDK1.5的时候提供的,属于非线程安全操作。
package BinaryTree;
public class Java_StringBuffer {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
//change(buf);
//buf.append("Hello ").append("world!");
//buf.append(".cn").insert(0, "www.").insert(4, "mldn");
//buf.append("Hello world !").delete(6, 12);
buf.append("Hello world!");
System.out.println(buf.reverse());
}
public static void change(StringBuffer temp) {
temp.append("world!");
}
}
System类
- 数组拷贝:public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);
- 获取当前日期的数值:public static
long
currentTimeMillis(); - 进行垃圾回收:public static void gc();(并不是重新定义的gc方法,而是从新执行了Runtime的gc()操作(Runtime.getRuntime().gc()))
Date类
无参构造 | 有参构造 |
---|---|
public Date() { this(System.currentTimeMillis()); } | public Date(long date) { fastTime = date; } |
- Date类中只是对long数据的一种包装。所以Date类中一定提供日期与long数据类型之间转换的方法:
将long转为Date:public Date(long date);
将Date转为long:public long getTime();
package cn.itcast.demo;
import java.util.Date;
public class Demo_Date {
public static void main(String[] args) {
Date date = new Date();
long current = date.getTime();
System.out.println(new Date(current));
System.out.println(date);
}
}
long之中可以保存毫秒的数据级,这样方便程序处理。
SimpleDateFromat类
-
【DateFormat继承】将日期格式化:public final String format(Date date);
-
【DateFormat继承】将字符串转变为日期:public Date parse(String source)throws ParseException();
-
构造方法:public SimpleDateFormat(String pattern)
- 日期格式:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)
package cn.itcast.demo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo_Date {
public static void main(String[] args) {
Date date = new Date();
/*
* long current = date.getTime();
* System.out.println(new Date(current));
* System.out.println(date);
*/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str = sdf.format(date);
System.out.println(str);
}
}
String brithDay = "1886-11-11 11:11:11.111";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf.parse(brithDay);
System.out.println(date);
在进行字符串处理的时候所使用的日期时间超过了指定的合理范围,会自动进行进位处理。
double s = 1237898765456732387656.2;
String str = NumberFormat.getInstance().format(s);
System.out.println(str);
java
double s = 1237898765456732387656.2;
String str = NumberFormat.getInstance().format(s);
System.out.println(str);