java开发的一些小总结
1.StringBuffer ,String,StringBuilder
StringBuffer 和 StringBuilder不定长的,String是定长的,StringBuffer追加字符串可以减少对象,如果java里面拼接长的字符串一般都用StringBuffer。StringBuffer是线程安全的,同步的 StringBuilder是线程不安全的,性能更好一点。
2.equals与==号的区别
双=号比较的是变量的值,如果用于引用类型,比较的是引用中存储的地址。Equals比较的是两个引用对象的值。例:
String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1.equals(s2)+"......."+(s1==s2));
3.自动拆装箱
基本类型对应的都有一个包装类
基本类型和包装类型可以自动转换
Int i=0;
Interger in=i;
I=in
引入包装类的作用:基本型都有各自默认的值,但是不能为null ,包装类型默认值可以为null,包装类可以更好的去操作,符合面向对象。
4.时间java.util.Date
Date now=new Date();获取的是当前系统(服务器的)时间
Long l=now.getTime();//这个时间是从1970年1月1日到现在的毫秒数。如果想获取明天这时候的时间 l+=24*60*60*1000;
date.setTime(l); date就是明天现在的时间
格式化java.text.SimpleDateFormat
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
String date=format.format(now);
输出的值就是:2016-09-01
日期模式匹配字符
5.日历Calendar
创建方法 Calendar c=Calendar .getInstance();
set方法 设置时间 用法
c.set(Calendar.YEAR, 2014);
c.set(Calendar.MONTH, 6);
c.set(Calendar.DAte, 06);
add 方法 c.set(Calendar.YEAR, 2);
getActualMaximum(Calendar.DAte)获取该日历字段的最大的值
6.集合
Collection接口下有list和set接口
list:可重复
Set不可重复
List:分为ArrayList和LinkList
ArrayList是动态数组,更适合随机访问,
LinkList是链表结构,更适合插入和删除
方法 size(),集合的长度,isEmpty是否是空的 contains 是否包含
get(index)获取对应下标的元素
set(int index,e)将元素存入到对应的位置返回原来位置的元素(操作之后原位置的元素将在集合中消失)
插入和删除
add(index,e)在指定的位置插入元素,后面的元素依次往后移动
remove(index)将指定的元素删除,并返回被删除的元素
7.增强for循环
for(元素类型 e:集合){}
8.泛型
泛型的本质是参数化类型
集合中应用泛型
List<User>list=new ArrayList<User>();这个集合里面只能存放User对象。
9.Map
Map主要存储键值对
存放元素方法 put(key,value);
get(key)通过key获取value
containsKey(key)是否包含这个key
遍历
HashMap<String, String>map=new HashMap<String,String>();
map.put("1", "123");
for(Entry<String, String> entry:map.entrySet()){
String key=entry.getKey();
String value=map.get(key);
System.out.println(key+",,"+value);
}