专栏首页noteless[三]基础数据类型之Integer详解

[三]基础数据类型之Integer详解

Integer 基本数据类型int  的包装类

Integer 类型的对象包含一个 int 类型的字段

属性简介

值为 2^31-1 的常量,它表示 int 类型能够表示的最大值

@Native public static final int   MAX_VALUE = 0x7fffffff;

值为 -2^31 的常量,它表示 int 类型能够表示的最小值

@Native public static final int   MIN_VALUE = 0x80000000;

用来以二进制补码形式表示 int 值的比特位数

@Native public static final int SIZE = 32;

二进制补码形式表示 int 值的字节数

public static final int BYTES = SIZE / Byte.SIZE;

表示基本类型 int 的 Class 实例

public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");

构造方法

构造方法都是新创建对象,分配新的空间

字符串形式构造,默认以十进制的字符串形式解析

包装类使用对应的基本数据类型int 构造

包装类 使用对应的基本数据类型int的字符串String形式构造

常用方法

比较

static int compare(int x, int y)

静态方法 0   x == y; -1   x < y; 1    x > y

int compareTo(Integer anotherInteger)

实例方法两个对象进行比较   ,实际比较两个对象的value值根本调用通过static int compare(int x, int y)

static int compareUnsigned(int x, int y)

静态方法两个基本类型int 当做无符号数进行比较   通过+MIN_VALUE进行转换根本是调用static int compare(int x, int y)

parseXXX系列

字符串解析 为 基本类型,

不需要对象,所以都是静态方法

static int parseInt(String s, int radix)

静态方法使用第二个参数指定的基数(进制),将字符串参数解析为有符号的整数除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D’),加号'+' ('\u002B')  外字符串中的字符必须都是指定基数的数字

static int parseInt(String s)

静态方法static int parseInt(String s, int radix)  的十进制简化形式

static int parseUnsignedInt(String s, int radix)

静态方法 使用第二个参数指定的基数(进制),将字符串参数解析为无符号的整数 除了第一个字符可以是用来表示正值的 ASCII 加号 '+' ('\u002B’)外 字符串中的字符必须都是指定基数的数字

static int parseUnsignedInt(String s)

静态方法static int parseUnsignedInt(String s, int radix) 的十进制简化形式

valueOf系列

把基本基本类型 包装为对象

用来创建获得对象,所以无需对象,全都是静态方法

VaueOf系列都有对应的缓存区, 缓存区范围内对象为同一个 

缓冲区为静态内部类中的数组

缓冲范围为  -128~127

static Integer valueOf(int i)

静态方法读取缓存中的对象或者创建新的对象

static Integer valueOf(String s, int radix)

静态方法根据指定的基数(进制)解析字符串根本调用static Integer valueOf(int i)

static Integer valueOf(String s)

静态方法十进制 解析字符串,   static Integer valueOf(String s, int radix) 的十进制简化形式根本调用static Integer valueOf(int i)

decode

接受通过以下语法给出的十进制、十六进制和八进制数字 Sign是可选的 再往后就是指定基数的字符序列的正值,不能是负数,想要设置负数请仅仅使用符号位 也就是+-1  --1这种肯定不行

Sign DecimalNumeral Sign 0x HexDigits Sign 0X HexDigits Sign # HexDigits Sign 0 OctalDigits Sign: - +

XXXValue系列

获取对象的某种基本类型的值

需要获取对象的所以必然全部都是实例方法

强制类型转换的形式,将内部的int值转换为指定的类型

byte byteValue()

short shortValue()

int intValue()

long longValue()

float floatValue()

double doubleValue()

toUnsignedXXX 系列

无符号相关的转换

static long toUnsignedLong(int x)

静态方法给定参数int转换为无符号的long无符号转换为long时,高32位为扩充为0,也就是零位扩展低32位同参数  int因此,0和int正数 与对应的long的值相同负数等于参数int+232

static String toUnsignedString(int i, int radix)

静态方法 在第二个参数指定的基数中,返回第一个参数的字符串表示的无符号整数值 如果基数不在Character.MIN_RADIX 和 Character.MAX_RADIX的范围内, 默认基数为10   基数和表示数字的字符的用法和表现和toString中一样

static String toUnsignedString(int i)

静态方法toUnsignedString(int, int) 十进制的简化形式  同toUnsignedString(int, 10)

toString  toXXXString  系列

根本都是为了转换为字符串形式

static String toString(int i, int radix)

静态方法根据指定基数,int    返回一个String  如果基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX,默认设置为基数 10如果是负数 第一个符号位负号 '-' ('\u002D'),如果不是负数,将不会有符号剩下的字符表示第一个参数的大小如果大小是0  由字符  '0' ('\u0030') 表示,否则用来表示数值的第一个字符不会是0 用以下 ASCII 字符作为数字: 0123456789abcdefghijklmnopqrstuvwxyz 其范围是从 '\u0030' 到 '\u0039' 和从 '\u0061' 到 '\u007A' 如果 radix 为 N, 则按照所示顺序,使用这些字符中的前 N 个作为其数字 因此,十六进制(基数为 16)的数字是 0123456789abcdef

static String toString(int i)

静态方法toString(int i, int radix) 的十进制简化形式同toString(int i, 10)

String toString()

实例方法等同于把对象的value直接调用  toString(int i)

static String toBinaryString(int i)

静态方法以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式

static String toOctalString(int i)

静态方法以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式

static String toHexString(int i)

静态方法以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式

内部有一个私有方法用于转换为无符号形式

equals

Integer重写了equals方法比较的是两个Integer对象中内部的 int value值

hashCode

static int hashCode(int value)

静态方法返回某个int 数值的hashcode

int hashCode()

实例方法获取某个Integer对象的hashcode等同于static int hashCode(int value) 调用 内部value值

getXXX系列

获取系统属性的数值

static Integer getInteger(String nm, Integer val)

确定具有指定名称的系统属性的整数值第一个参数被视为系统属性的名称通过 System.getProperty(java.lang.String) 方法可以访问系统属性第二个参数是默认值如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null则返回一个表示第二个参数的值的 Integer 对象

static Integer getInteger(String nm, int val)

getInteger(String nm, Integer val) 的便捷转换形式

static Integer getInteger(String nm)

getInteger(String nm, int val)省略第二个参数的简化形式版本

其他方法

最高1  位  最低1   位前置零个数 和 后置0个数

highestOneBit(int) / lowestOneBit(int) numberOfLeadingZeros(int) / numberOfTrailingZeros(int)

位数循环左移/循环右移按位翻转 按照字节翻转

bitCount(int)     返回二进制补码表示形式的 1 位的数量,不是全部位数 rotateLeft(int, int)  /  rotateRight(int, int)   reverse(int)   /   reverseBytes(int)

取整求余

divideUnsigned(int, int) remainderUnsigned(int, int)

Integer还提供了上面几个方法,在开篇中已经描述 Long也有提供   

语义一致

static int signum(int i)

静态方法返回指定 int 值的符号函数(如果指定值为负,则返回 -1;如果指定值为零,则返回 0;如果指定的值为正,则返回 1 )

static int sum(int a, int b)

静态方法求和

static int max(int a, int b)

静态方法最大值

static int min(int a, int b)

静态方法最小值

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [十三]基础数据类型之AbstractStringBuilder

    也就意味着每次调用的各种处理方法,返回的字符串都是一个新的,性能上,显然....

    noteless
  • [二十]JavaIO之StringReader 与 StringWriter

    还记得前面说过的CharArrayReader 和 CharArrayWriter吗?

    noteless
  • [十一]基础数据类型之Character

    该类提供了几种方法来确定字符的类别(小写字母、数字等),并将字符从大写转换为小写,反之亦然

    noteless
  • C++中动态申请数组

    动态申请一维数组 申请使用new,释放使用delete[] 可以通过数组名[下标]和*(数组名+下标)的方式访问数组

    卡尔曼和玻尔兹曼谁曼
  • Java中实现找到两个数组交集的2种方法,开发实用

    1、用HashSet实现的解决方法 实例代码如下: public int[] intersection(int[] nums1, int[] nums2) { ...

    用户1289394
  • 牛客NOIP提高组R1 C保护(主席树)

    考虑一个点x,什么时候军队对它有贡献,肯定是u或v在他的子树内,且lca在他的子树外

    attack
  • cf1043D. Mysterious Crime(二分 前缀和)

    因此我们按照\(x - y\)排序,对于每个位置,肯定是某一个前缀全选\(x+b\),除此之外都是\(y+a\)

    attack
  • 回溯法求组合问题

    用户7727433
  • 图论--网络流--费用流POJ 2195 Going Home

    On a grid map there are n little men and n houses. In each unit time, every litt...

    风骨散人Chiam
  • 1061 判断题 (15 分)

    可爱见见

扫码关注云+社区

领取腾讯云代金券