java中封装类有哪些_java中封装类(⼀)
java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void
其中Void对于使⽤者并⽆多⼤意义,也不可以构造任何对象,代码如下:
packagejava.lang;public final classVoid {public static final Class TYPE = PrimitiveClass("void");privateVoid() {}
}
View Code
这⼏个封装类中,以Boolean类型最简单,Character最复杂,Character个⼈觉得也是整个java中最复杂的⼀个类,先说Boolean:
packagejava.lang;public final class Boolean implements java.io.Serializable,Comparable{public static final Boolean TRUE = new Boolean(true);public static final Boolean FALSE = new Boolean(false);public static final Class TYPE =
}publicBoolean(String s) {this(toBoolean(s));
}public static booleanparseBoolean(String s) {returntoBoolean(s);
}public booleanbooleanValue() {returnvalue;
}public static Boolean valueOf(booleanb) {return (b ?TRUE : FALSE);
}public staticBoolean valueOf(String s) {return toBoolean(s) ?TRUE : FALSE;
}public static String toString(booleanb) {return b ? "true" : "false";
}publicString toString() {return value ? "true" : "false";
}public inthashCode() {return value ? 1231 : 1237;
}public booleanequals(Object obj) {if (obj instanceofBoolean) {return value ==((Boolean)obj).booleanValue();
}return false;
}public static booleangetBoolean(String name) {boolean result = false;try{
result=Property(name));
}catch(IllegalArgumentException e) {
}catch(NullPointerException e) {
}returnresult;
}public intcompareTo(Boolean b) {return compare(this.value, b.value);
}public static int compare(boolean x, booleany) {return (x == y) ? 0 : (x ? 1 : -1);
}private static booleantoBoolean(String name) {return ((name != null) && name.equalsIgnoreCase("true"));
}
}
View Code
Boolean实现了Comparable接⼝,也就是说boolean类型本⾝是可以⽐较的,⽽对于boolean类型⽽⾔,在java中认为true是⼤于false 的。⽰例如下:
packagedemo.nio;public classBooleanDemo {public static voidmain(String[] args){
System.out.println(Booleanpare(true, false));//1 代表⼤于
System.out.println(Booleanpare(false, false));//0 代表等于
System.out.println(Booleanpare(true, true));//0 代表等于
System.out.println(Booleanpare(false, true));//-1 代表⼩于
java核心技术有哪些
}
}
值得⼀提的是Boolean的hashcode是两个常数,这就保证了不管从何处new的对象,只要内部的value字段值为true,它的hashcode就是1231,为false就是1237。equals⽅法完全调⽤了内部value字段的==操作。所有的封装类型都包含了valueOf的静态函数,并且有
两个重载版本,分别是基元类型参数和字符串参数。还有⼀个parse函数,内部可以通过返回Cache中的数据来避免重复的装箱操作。java 中对于Boolean的Cache就是 Boolean.TRUE和Boolean.FALSE两个静态字段。它们是公共类型。
public classBooleanDemo {public static voidmain(String[] args){
Boolean b3= Boolean.valueOf(true);
Boolean b4= Boolean.valueOf("true");
Boolean b5= Boolean.parseBoolean("true");
}
}
View Code

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。