基本数据类型对象包装类
2016-04-13 11:44
405 查看
基本数据类型对象包装类
*为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作*用于描述该对象的类就称为基本数据类型包装类。
*byte Byte
*short Short
*int Integer
*long Long
*float Float
*double Double
*char Character
*boolean Boolean
*该包装对象主要用于基本类型和字符串之间的转换。
*基本类型--->字符串
*1 基本类型+""
*2 用String类中的静态方法valueOf(基本类型数值)
*字符串--->基本类型
*1 使用包装类的静态方法 xxx parseXxx("xxx类型的数值")
* int parseInt("intstring")
* long parseLong("longstring")
* boolean parseBoolean("booleanstring")
* 只有Character无parse的方法
*2 如果字符串被Integer进行对象的封装。
* 可使用另一个非静态的方法,intValue();
* 将一个Integer对象转成基本数据类型值
*整数具备不同的体现
*十进制-->其他进制。
*其他进制-->十进制
*十进制--->其他进制
*System.out.println(Integer.toBinaryString(60))
*System.out.println(Integer.toOctalString(60))
*System.out.println(Integer.toHexString(60))
*其他进制-->十进制
* parseInt("string",radix)
* */
自动装箱:
int num = 4;
Integer i = 4;//jdk1.5以后 自动装箱 简化书写
i = i + 6;//i = new Integer(i.intValue() + 6);//i.intValue()自动拆箱
Integer a = new Integer(127);
Integer b = new Integer(127);
System.out.println(a==b);//false
System.out.println(a.equals(b));//true equals 比较的是值
Integer x = 129;
Integer y = 129;
System.out.println(x==y);//jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间,这里以127为分解线,-128-127为true
System.out.println(x.equals(y));//true
练习:
对一个字符串的数值进行从小到大的排序。
“20 78 9 -7 88 36 29"
import java.util.Arrays;
public class WrapperTest {
private static final String SPACE_SEPARATOR = " ";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/
* 思路:
* 1 排序
* 2 如何获取到这个字符串中的这些需要排序的数值
* 字符串中其实都是空格来对数值进行分割的
* 所以就用字符串对象的切割方法将大串变成多个小串
* 3 数值最终变成小字符串,怎么变成一个int数呢?
* 字符串-->基本类型可以使用包装类
* */
String numStr = "20 78 9 -7 88 36 29";
System.out.println(numStr);
numStr = sortString(numStr);
System.out.println(numStr);
}
private static String sortString(String numStr) {
// TODO Auto-generated method stub
// 1 将字符串变成字符串数组
String[] str_arr = stringToArray(numStr);
// 2 将字符串数组变成int数组
int[] num_arr = toIntArray(str_arr);
// 3 对int数组排序
mySortArray(num_arr);
// 4 将排序后的int数组变成字符串
String temp = arrToString(num_arr);
return temp;
}
public static String arrToString(int[] num_arr) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
for(int i = 0;i<num_arr.length;i++){
if(i!=num_arr.length-1)
sb.append(num_arr[i]+SPACE_SEPARATOR);
else
sb.append(num_arr[i]);
}
return sb.toString();
}
public static void mySortArray(int[] num_arr) {
// TODO Auto-generated method stub
Arrays.sort(num_arr);
}
public static int[] toIntArray(String[] str_arr) {
// TODO Auto-generated method stub
int[] arr = new int[str_arr.length];
for(int x = 0;x<str_arr.length;x++){
arr[x] = Integer.parseInt(str_arr[x]);
}
return arr;
}
public static String[] stringToArray(String numStr) {
String[] str_arr = numStr.split(SPACE_SEPARATOR);
return str_arr;
}
}
相关文章推荐
- [正则表达式]开发常用的正则表达式
- 自动构建工具Ant的使用-笔记
- DevExpress控件学习总结(转)
- JMeter使用代理录制脚本
- js基础效果
- OC学习日记Day2:#include、#import和@class的工作原理
- GET和POST的区别
- 安装cuDNN
- navigator对象及其应用
- 获取并发队列
- ubuntu下安装svn
- 一个简单的缩放 拖动实现
- MVC中如何设置路由指定默认页
- placeholder改变颜色
- 采用sharedPreference保存数据
- poj--3461 Oulipo(KMP)
- SDTM: AETERM, AESOC, AEDECOD导出到SDTM/TFL中的条件
- mysql PDO的使用
- SharePoint2016 IT Professional - Project Web App Site
- 识别多行的宏