Java_Learn

20180417

集合类 Collection

如果是实现了list接口的集合类,具备的特点是有序,可重复;

如果是实现了set接口的集合类,具备的特点是无序,不可重复;

Collection中的方法  增加  删除 查看  

add("添加任意类型的元素到集合中"); 

addall("添加一个集合的元素到另外一个集合中") 

clear("")  清空集合中的元素

remove 删除集合中指定的元素 删除成功返回true,删除失败返回false

removeall() 删除两个集合中的交集元素

retainall() 保留两个集合的交集元素,其他元素删除

isEmpty() 集合是否为空

contains() 是否包含指定元素  !!!

 

 

日期类 Calendar

日期格式化类 SimpleDateFormat  

两个方法 1 format 把日期转换为指定的字符串  2 parse 把字符转换为日期;

 

 StringBuffer与String是不同的类型,不能进行强制的类型转换。下面的两个是错误的

StringBuffer s = “abc”; //赋值类型不匹配

StringBuffer s = (StringBuffer)”abc”; //不存在继承关系,无法进行强转

StringBuffer对象和String对象之间的互转的代码如下:

String s = “abc”;

StringBuffer sb1 = new StringBuffer(“123”);

StringBuffer sb2 = new StringBuffer(s); //String转换为StringBuffer

String s1 = sb1.toString(); //StringBuffer转换为String

 

 

 

 

  

 

 

 

 

20180414 

==和equals  ==是用来判断对象的内存地址是否相等,equals方法默认是用来判断对象的内存地址是否相等。但是String类重写了equals方法,判断的是内容是否相等。String str1="hello"; String str2="hello"; String str3=new String("hello"); String str4=new String("hello");   str1==str2  true; str2==str3 false; str3==str4  false; str3.equals(str4) true;    解释: String str1="hello"; 先去字符串常量池中检查是否有"hello",如果有,则把地址给str1,如果么有,则在字符串常量池中创建一个"hello",然后把地址给str1;而String str3=new String("hello"); 则是先去字符串常量池中检查是否有"hello",如果有,则将给内容拷贝一份到堆内存中,并将地址给str3;所以new String("hello")这个动作是创建了两个对象。如果常量池中没有"hello" 则先在常量池中穿件一个"hello" 然后再将给内容拷贝一份到堆内存中,并将地址给str3。

 

Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

 

posted @ 2018-04-10 22:28  小猫钓鱼吃鱼  阅读(148)  评论(0)    收藏  举报