您的位置:首页 > 其它

基本数据类型对象包装类

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: