Java学习提要——包装类与数据类型转换
来源:互联网 发布:手机自动升级软件 编辑:程序博客网 时间:2024/04/29 21:36
1.基本定义
方便用户的使用,专门提供了一组包装类,来包装所有的基本类型:
byte(Byte)、int(Integer)、long(Long)、short(Short)、float(Float)、double(Double)、char(Character)、boolean(Boolean)、
又分为对象型包装类(Object直接子类): Character 、Boolean
以及
数值型包装类(Number直接子类(Number是Object的直接子类)): Byte 、Integer、Long、Float、Double、Short
number是一个抽象类,其定义了六个操作方法: intValue()、doubleValue()、shortValue()、longValue()、floatValue()、byteValue()、
2.装箱与拆箱
装箱操作:将基本的数据类型变为包装类的形式
拆箱操作:从包装类之中取出被包装的数据
上例子…
//Integer:number子类public class Test { public static void main(String args[] ) { Integer obj = new Integer(100) ; //装箱 int temp = obj.intValue() ; //拆箱,return System.out.println(temp + 2); }}
//Boolean:非number子类public class Test { public static void main(String args[] ) { Boolean obj = new Boolean(true) ; //装箱 boolean temp = obj.booleanValue() ; //拆箱,return System.out.println(temp); }}
以上是JDK1.5 之前,那么JDK1.5之后呢,
//Integer:number子类public class Test { public static void main(String args[] ) { Integer obja = 100 ; //自动装箱 int temp = obja ; //自动拆箱,return// obja ++ ; //包装类直接进行数学计算 System.out.println(temp + obja); Integer objb = 100; Integer objc = new Integer(100) ; System.out.println(obja == objb);//true System.out.println(obja == objc);//false System.out.println(objb == objc);//false System.out.println(obja.equals(objc));//true }}
在包装类时很少会利用构造,几乎都是直接使用赋值(和String一样),但是两者比较时,记住一定要用equals()。
顺便说下Object的向下转型:
public class Test { public static void main(String args[] ) { Object obj = 10 ; //不可以直接转型为int int num = (Integer) obj ;//向下变为Integer然后自动拆箱 System.out.println(num); }}
注意!!Double定义的时候,一定要有小数,如果没有它会认为你的类型是int,它不会接收。
3.数据类型转换
一般是由String转向各数据类型,或者各数据类型转向String
例:
Integer类: public static int parseInt(String s) ;
Double类:public static double parseDouble(String s);
Boolean类:public static boolean parseBoolean(String s) ;
格式大概都这样,特别注意的Character类里面并不存在有字符串变为字符的方法,因为String类有一个charAt()的方法,可以根据索引取出字符
String->各类型 例:
//Integer:public class Test { public static void main(String args[]) { String str = "123" ; int num = Integer.parseInt(str) ; System.out.perintln(num); }}
注意!此字符串不能由非数字组成(包括小数点),不然的话,会有报错(NumberFormatException)
//Boolean:public class Test { public static void main(String args[] ) { String str = "true" ; boolean flag = Boolean.parseBoolean(str) ; if(flag){ System.out.println("OK"); }else { System.out.println("BAD"); } }}
boolean转换的时候,如果不是true或者false的话,那么将统一按照flase来处理
各类型->String 例:
操作一:
任何基本数据类型与字符串使用“+” 操作之后,都表示变为字符串(刚开始学java时的各类型与String同时输出)
操作二:(主要)
格式:String.valueOf()
例:
public class Test { public static void main(String args[]) { int num = 100 ; String str = String.valueOf(num) ; System.out.perintln(str.replaceAll("0","6"));//把num中的‘0’全部换成‘6’ }}
这样转换不会产生垃圾,所有也比较常用
- Java学习提要——包装类与数据类型转换
- java基本数据类型与包装类之间的转换
- Java基础 —— 原生数据类型与包装类
- 包装类与数据类型之间的转换
- Java基本数据类型包装类转换小记
- Java学习提要——Class类基础与动态加载类
- Java学习提要——File类常见操作与目录操作
- Java学习提要——'Thread类'与'Runnable接口'基础
- Java学习提要——抽象类的使用限制
- Java学习提要——浅谈Object类
- Java学习提要——StringBuffer类基础
- Java学习提要——Runtime类基础
- Java学习提要——System类基本
- Java学习提要——Math类基本
- Java学习提要——日期处理类
- Java学习提要——File类的基本操作
- Java学习提要——字符串连接
- Java学习提要——方法引用
- 解决Win7下Jdeveloper(OAF)花屏的方法
- 大数据文本相似去重方案
- 深入分析 Java 中的中文编码问题
- 移动支付-支付宝篇
- Jmeter error: jmeter.samplers.SampleResult: sampleEnd called twice java.lang.Throwable: Invalid call
- Java学习提要——包装类与数据类型转换
- 软件服务供应商排行榜
- 可视化日历_Demo01.java
- 从零开始学习Skynet_examples研究
- java的HashTable的部分源码分析
- LFS 中文版手册发布:如何打造自己的 Linux 发行版
- hello
- 用汉明距离进行图片相似度检测的Java实现
- 从网页中下载图片遇到的坑