基本数据类型对象包装类

来源:互联网 发布:windows主题安卓版 编辑:程序博客网 时间:2024/06/10 20:39
package cn.jason.wrapper.demo;
public class WrapperDemo {
 public static void main(String[] args) {
  /*
   * 基本数据类型对象包装类的重要功能:在基本类型和String类型之间互相转换
   *
   */
  /*字符串转成基本数据类型
  使用的是    parse基本类型(字符串);  parseInt  parseByte  parseDouble  parseBoolean .......
  */
  System.out.println("23"+4);
  System.out.println(Integer.parseInt("23")+4);
  //把字符串23进行了转换,变成了23+4
  
 }
}

/*
   * 自动装箱拆箱。像操作int一样操作Integer
   */
  /**
   * Integer i1 = 4; Integer i2 = Integer.valueOf(4);//静态方法 Integer i3 =
   * new Integer("4");//构造方法 int n1 = i3.intValue();
   *
   * 自动装箱拆箱就是这么来的 new Integer("4") ——> Integer.valueOf(4) ——> Integer i1 =
   * 4
   */
  Integer i = 4;// 自动装箱。 Integer.valueOf(4);
  i = i + 4;//右边的i自动拆箱。i.intValue()+6  运算完的结果又一次装箱被i指向

练习:
package cn.jason.wrapper.demo;
import java.util.Arrays;
public class Test3 {
 private static final String SEPARATE = " ";
 public static void main(String[] args) {
  /*
   * 练习:“23 10 -8 0 3 6 105 34 21”对字符串中的数值进行升序排序后,生成一个数值有序的字符串
   * “-8 0 3 6 21 23 34 105”
   * 思路:
   * 1.排序,而且对整数数值排序
   * 2.排序的元素在字符串中,如何取出?
   * 3.找String类的功能。而且,数字之间间隔都是相同的空格,有规律
   * 如果有这个功能的方法,结果是多个字符串。    String[](string)
   *
   */
  String numStr ="12 23 0 -5 34 87";
  String sortStr = sortNumberString(numStr);
  System.out.println(sortStr);
 }
 /**
  * 对一个有多个数值的字符串,进行数值的排序
  * @param numStr
  * @return
  */
 private static String sortNumberString(String numStr) {
  //1.将给定的字符串分解成多个数字格式字符串
  String[] numStrs = toStringArray(numStr);
  //2.将字符串数组转成int数组
  int[] nums = toTnArray(numStrs);
  //3.对数组排序
  sort(nums);
  //4.将int数组转成字符串
  return toString(nums);
 }
 /*
  * 4.将int数组转成字符串
  */
 private static String toString(int[] nums) {
  // 定义一个字符串缓冲区
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < nums.length; i++) {
   if (i != nums.length - 1) {
    sb.append(nums[1] + SEPARATE);
   } else {
    sb.append(nums[i]);
   }
  }
  return sb.toString();
 }
 /*
  * 3.对数组排序
  */
 private static void sort(int[] nums) {
  Arrays.sort(nums);
 }
 /*
  * 将字符串数组转成int数组
  */
 private static int[] toTnArray(String[] numStrs) {
  //1.创建一个int类型数组,长度和字符串数组的长度一致。
  int[] nums = new int[numStrs.length];
  //2.对字符串数组进行遍历
  for (int i = 0; i < numStrs.length; i++) {
  //3.将字符串数组中的元素通过parseInt转换后,赋值给int类型数组
   nums[i]=Integer.parseInt(numStrs[i]);
  }
  return nums;
 }
 /*
  *将字符串按照制定的分隔,转成字符串数组
  */
 private static String[] toStringArray(String numStr) {
  //使用字符串的split(regex);
  return numStr.split(SEPARATE);
 }
 
}