首页 > 其他分享 >常用对象API(基本数据类型对象包装类)

常用对象API(基本数据类型对象包装类)

时间:2023-02-02 20:36:21浏览次数:37  
标签:arr String 对象 数据类型 int API str Integer

概述

为了方便操作基本数据类性值,将其封装成了对象,在对象中定义了属性和行为丰富了改数据的操作。

用于描述该对象的类就称为基本数据类型对象包装类

类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

该包装对象主要用基本类型和字符串之间的转换。

字符串与基本类型转换

基本类型——>字符串

1. 基本类型数值+""
2. 用String类中的静态方法`valueOf`(基本类型数值);
3. 用Integer的静态方法`valueOf()`

字符串——>基本类型

  1. 使用包装类中的静态方法 xxx parseXxx ("xxx类型的字符串");

    •   int	parseInt("intstring"); //将string转为int
        
        long parseLong("longstring");
        
        boolean parseBoolean("booleanstring");
        
        //只有Character没有parse方法
      
  2. 如果字符串被Integer进行对象的封装

    •   //可使用另一个非静态的方法,
        
        intValue(); //已过时
        
        //将一个Integer对象转成基本数据类型值。
      

进制转换

整数具备不同的进制体现

十进制——>其他进制

  •   toBinaryString() 二进制
      toOctalString()	八进制
      toHexString()	十六进制
      //ex
          Integer.toBinaryString(60); // 111100
    

其他进制——>十进制

  •   parseInt("string",radix);
    

JDK1.5自动装箱拆箱

自动拆装箱java中数据类型分为两种 : 基本数据类型 引用数据类型(对象)

    在 java程序中所有的数据都需要当做对象来处理,针对8种基本数据类型提供了包装类,如下:

      int ——> Integer

      byte ——> Byte

      short ——> Short

      long ——> Long

      char ——> Character

      double ——> Double

      float ——> Float

      boolean ——> Boolean

jdk1.5以前基本数据类型和包装类之间需要互转:

自动装箱基本数据类型赋值给了引用数据类型才装箱

自动拆箱引用数据类型基本数据类型计算的话,自动拆箱

   基本———引用 Integer x = new Integer(x);

   引用———基本 int num = x.intValue();

      1)、Integer x = 1; x = x + 1; 经历了什么过程?装箱 ——> 拆箱——> 装箱;

      2)、为了优化,虚拟机为包装类提供了缓冲池,Integer池的大小 —128~127 一个字节的大小;

      3)、String池:Java为了优化字符串操作 提供了一个缓冲池;

image-20221027172555159

public int compareTo(Ingeger anotherInteger)

Integer a = new Integer("895");
Integer b = new Integer(128);
System.out.println(a.compareTo(b));
//输出:1
/*
以数字方式比较两个 `Integer`对象。 

值0如果这个Integer等于参数Integer ;

小于0的值,如果这个Integer数值小于参数Integer ; 

和大于一个值0 ,如果这Integer在数值上大于该参数Integer (带符号的比较)。*/
int num = 4;
num = num + 5;

Integer i = 4;//i = new Integer(4); 自动装箱,简化书写。
i = i + 6; // i = new Integer(i.intValue() + 6); // i.intValue() 自动拆箱
    public static void main(String[] args)
    {
 
        
        Integer a = new Integer(128);
        Integer b = new Integer(128);
        System.out.println(a==b);
        System.out.println(a.equals(b));

        Integer x = 127;
        Integer y = 127;
         //jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间
        System.out.println(x == y);
        System.out.println(x.equals(y));
    }
//输出:
false
true
true
true

练习

package com.Integer;

/*
* 对一个字符串中的数值进行从小到大的排序
*
* “34 483 43 -95 2 25 866 679“
*
* 思路:
* 1.排序,很熟,但只熟int
* 2.如何获取到这个字符串中需要排序的数值
* 发现字符串中其实都是用空格来对数值进行分割的
* 用空格切割,大串变小串
* 3.数值最终变成小字符串,怎样变成int数值
*
*
* */

import java.util.Arrays;

public class WrapperDemo {

    private static final String SPACE_SEPARATOR = " ";
    public static void main(String[] args) {
        String str = "34 483 43 -95 2 25 866 679";
        System.out.println(str);

        str = sorStringNumber(str);
        System.out.println(str);
    }

    private static String sorStringNumber(String str) {

        //1.将字符串变成字符串数组。
        String[] str_arr = stringToArray(str);

        //2.将字符串数组变成int数组。
        int[] int_arr = toIntArray(str_arr);
        
        //3.将int数组排序
        mySortArray(int_arr);

        //将排序后的int数组变成字符串
        String temp = arrayToString(int_arr);
        return temp;
    }


    private static String arrayToString(int[] int_arr) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < int_arr.length; i++) {
            if (i != int_arr.length-1)
                sb.append(int_arr[i]+SPACE_SEPARATOR);
            else
                sb.append(int_arr[i]);

        }
        return sb.toString();
    }

    private static void mySortArray(int[] int_arr) {
        Arrays.sort(int_arr);
    }

    private static int[] toIntArray(String[] str_arr) {
        int[] int_arr = new int[str_arr.length];
        for (int i = 0; i < str_arr.length ; i++) {
            int_arr[i] = Integer.parseInt(str_arr[i]);
        }

        return int_arr;
    }

    private static String[] stringToArray(String str) {
        String[] str_arr = str.split(SPACE_SEPARATOR);

        return str_arr;
    }
}

标签:arr,String,对象,数据类型,int,API,str,Integer
From: https://www.cnblogs.com/Nuff5a1d/p/17087295.html

相关文章

  • 常用对象API(集合框架Collection)★★★★★
    目录概述体系&共性功能Collection接口的常见方法:迭代器的使用IteratorList和Set的特点使用集合的一些技巧List接口List接口的常见方法ListIterator接口数组和链表Vector集......
  • 常用对象API(集合框架)★★★★★
    目录目录目录集合框架Collection概述体系&共性功能Collection接口的常见方法:迭代器的使用IteratorList和Set的特点使用集合的一些技巧List接口List接口的常见方法ListIter......
  • 其他对象API
    System类API———java.lang.System:属性和行为都是静态的。longcurrentTimeMillis();//返回当前时间毫秒值//作用演示longl1=1335664696656l;//System.curr......
  • MATLAB-数据类型
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 常用对象API(String类)
    目录StringBuffer字符串缓冲区特点&添加功能增删改查和可变数组长度StringBuilder类StringBuilder练习:String类String类特点:构造函数字符串常见方法获取转换判断比较inter......
  • stream操作常用API 示例详解
    简介从JDK8开始,增加了一新特性Stream流式操作,Stream中提供了非常多的API供大家使用,灵活的使用这些API,可以非常的方便且优美的实现我们的代码逻辑。最终型toArraytoArray......
  • cache API简介
    cacheAPI是一个很强大的API,它可以在window环境和serviceWorker环境使用,配合serviceWorker可以让我们自己来管理缓存。cachescaches是一个全局接口,可以在window和worker......
  • Java判断一个对象是否为指定类的实例
    一.描述instanceof它的作用是判断其左边对象是否为其右边类的实例,也可以判断这个对象是否是这个特定类或者是它的子类的一个实例,返回boolean类型的数据。二.用法booleanr......
  • 常用API大全分享!赶紧收藏起来!
    一、短信发送短信的应用可以说是非常的广泛了,短信API也是当下非常热门的API~短信验证码:可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商,3秒可达,99.9......
  • [复习]面向对象之继承
    面向对象之继承一.概念如果有两个或两个以上的类具有相同的属性和方法,我们可以抽取出来,把抽取出来的部分作为各个类的公共部分,我们称抽取出的这部分为基类[BaseClass]......