java包装类

  • Post author:
  • Post category:java



引言:java中一切皆对象,所以就产生了包装类


分类:对象型包装类(Object的直接子类):char(Charact),boolean(Boolean);


数值型包装类(Number的直接子类):byte(Byte),int(Integer),float(Float),double(Double),long(Long);


自动装箱与拆箱:

public class TestDemo {
    public static void main(String args[]){
    	Integer obj = 10;//自动装箱
    	int temp = obj;  //自动拆箱
    	obj++;//包装类直接进行数学计算
    	System.out.println(temp*obj);
    	//输出:110
    }
}


数据类型转换:


A.将字符串转换成基本数据类型:


1.将字符串变为int型数据:字符串一定要由数字组成

public class TestDemo   {
    public static void main(String args[]){
    	String str = "123";//字符串
    	int temp = Integer.parseInt(str);
    	System.out.println(temp*2);//输出:246
    }
}


2.将字符串变为double类型:

public class TestDemo   {
    public static void main(String args[]){
    	String str = "12.3";//字符串
    	double temp = Double.parseDouble(str);
    	System.out.println(temp*2);//输出:24.6
    }
}


3.将字符串变为boolean类型:如果字符串不是true或者flase,统一看作flase

public class TestDemo   {
    public static void main(String args[]){
    	String str = "true";//字符串
    	boolean flag = Boolean.parseBoolean(str);
    	//输出:yes
    	if(flag){
    		System.out.println("Yes");
    	}
    	else{
    		System.out.println("no");
    	}
    }
}

public class TestDemo   {
    public static void main(String args[]){
    	String str = "adfaff";//字符串
    	boolean flag = Boolean.parseBoolean(str);
    	//输出:no
    	if(flag){
    		System.out.println("Yes");
    	}
    	else{
    		System.out.println("no");
    	}
    }
}


B.将基本类型变为字符串:


1.任何数据类型与字符串使用了“+”操作:

public class TestDemo   {
    public static void main(String args[]){
    	int num = 100;
    	String str = num + "";
    	System.out.println(str.replaceAll("0","9"));
    	//输出:199
    }
}


这样的操作虽然可以简单完成,但是有垃圾生成


2.public static void valueOf(基本数据类型 变量)

public class TestDemo   {
    public static void main(String args[]){
    	int num = 100;
    	String str = String.valueOf(num);
    	System.out.println(str.replaceAll("0","9"));
    	//输出:199
    }
}



这样的转换不会产生垃圾



版权声明:本文为LssTwl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。