/**
java中一切皆对象 :1:基本数据类型
2:引用数据类型
基本数据类型 -->为了也可以引用(类)的方式来表达。
-->JDK1.5之后引入【八种数据类型的[包装类]】:用类的方式把 数据类型包装起来的一个类
基本数据类型 包装类
Number的子类一个数字 :
byte Byte
short Short
int Integer
long Long
float Flaot
double Double
Object类直接子类:
char Character
boolean Boolean
装箱操作-------将一个基本数据类型[值类型] 转换成 包装类型[引用数据类型]
拆箱操作-------将一个包装类型[引用数据类型] 转换成 基本数据类型[值类型]
拆箱的方法:
方法 描述
byteValue() Byte--->byte
intValue() Integer--->int
shortValue() Short--->short
longValue() Long--->long
floatValue() Float--->byte
doubleValue() Double--->double
charValue() Character--->char
booleanValue() Boolean--->boolean
*/
class WarperClassDemo{
public static void main(String[] args){
//第一种包装类赋值方式:创建包装类对象。/ new关键字创建对象。
Long X1=new Long(100);
//第二种包装类赋值对象方式
Long X3=1000L; //也可以叫自动装箱方式
//自动拆箱【默认调用了拆箱方法longValue()】
long X4=X3;
//[手动装箱]实现...
long X5=X3.longValue();
System.out.println(X5);
System.out.println("---------------------------------------------------------");
//@在包装类中,可以将 字符串 变成为 【指定的基本数据类型】。一般在输入数据是会使用较多的。
/**
如:Integer类中将String变成int数据类型:public static int parseInt(String S);
Float类中将String变成float数据类型:public static flaot parseInt(String S);
*/
//例子
String S1="12345";
//第一种
int a1=Integer.parseInt(S1);//一个字符串String 转换 为int基本数据类型
System.out.println(a1);
//第二种
int aa = Integer.valueOf(S1).intValue();//一个字符串String 转换为 int基本数据类型
System.out.println(aa);
//第三种
Integer a2=Integer.valueOf(S1);//把一个字符串String转换为Integer类型
System.out.println(a2);
System.out.println("---------------------------------------------------------");
/////////////////////////////////////////////////////////////////////
String S2="12.11";
float a3=Float.parseFloat(S2);
System.out.println(a3);
Float a4=Float.valueOf(S2);
System.out.println(a4);
float ff = Float.valueOf(S2).floatValue();
System.out.println(ff);
////////////////////////////////////////////////////////////////
//String 转换成 char
char[] ca="123".toCharArray();
System.out.println(ca);
//char 转换成 string
String cc=ca.toString(); //任何类型都可以采用toStrig()转换为String类型。
///////////////////////////////////////////////////////////////////////////////////////
Integer X10= new Integer(10);
Integer X11= new Integer(10);
Integer X12= 10;
Integer X13= 10;
Integer X14= 1000;
Integer X15= 1000;
System.out.println(X10==X11);
System.out.println(X12==X13);
System.out.println(X14==X15);//Integer直接赋值,当值为:1个字节【-128-127字节】内的数时 将使用同一个对象。
/**
享元设计模式--------
它使用共享对象,用来尽可能减少内存的使用量以及分享资讯 尽可能多的相似对象,
他适合用于大量的对象只是重复因而导致无法令人接受的使用大量的内存。通常对象中的部分状态可以分享。
常见的做法:把它们放在外部数据结构,当需要使用的时候再将他们传递给享元。
运用共享的技术有效的支持大量的【占内存少,反复创建会浪费/细粒度】的对象 反复创建会浪费
再设计程序时。可以想到这一点,如果会大量创建对象,用这种模式,把对象创建好,要用的时候,就给他,重复使用这个对象
例如://Integer直接赋值,当值为:1个字节【-128-127字节】内的数时 将使用同一个对象。
*/
////////////////////////////////////////////////////
}
}
}
}
|