目录

  • 概述
  • 字段
  • 构造方法
  • 方法
    • bitCount(int i)​
    • byteValue()
    • compare​(int x, int y)
    • compareTo​(Integer anotherInteger)
    • compareUnsigned​(int x, int y)
    • decode​(String nm)
    • divideUnsigned​(int dividend, int divisor)
    • getInteger​(String nm)
    • getInteger​(String nm, int val)
    • highestOneBit​(int i)
    • lowestOneBit​(int i)
    • max​(int a, int b)
    • min​(int a, int b)
    • reverse​(int i)
    • reverseBytes​(int i)
    • signum​(int i)
    • sum​(int a, int b)
  • parse方法
    • parseInt​(CharSequence s, int beginIndex, int endIndex, int radix)
    • parseInt​(String s)
    • parseInt​(String s, int radix)
  • Value方法
    • byteValue()
    • shortValue()
    • doubleValue()
    • floatValue()
    • intValue()
    • longValue()
  • ValueOf方法
    • valueOf​(int i)
    • valueOf​(String s)
    • valueOf​(String s, int radix)

概述

Integer类继承了Number实现了Comparable
Integer类存在java.lang包下,使用时不需要导包

public final class Integer extends Number implements Comparable<Integer>

Integer类在对象中包装基本类型int的值。 Integer类型的对象包含单个字段,其类型为int 。


字段

public static final int BYTES = SIZE / Byte.SIZE;
public static final int   MIN_VALUE = 0x80000000;
public static final int   MAX_VALUE = 0x7fffffff;
public static final int SIZE = 32;
public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");


构造方法

int x1 = new Integer(2);//x1=2
int y1 = new Integer("5");//y1=5Integer x2 = 5;
Integer y2 = 10;Integer x3 = new Integer(20);
Integer y3 = new Integer(30);

方法

bitCount(int i)​

返回指定的 int值的二进制补码表示形式中的 int 。

public static int bitCount(int i) {// HD, Figure 5-2i = i - ((i >>> 1) & 0x55555555);i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);i = (i + (i >>> 4)) & 0x0f0f0f0f;i = i + (i >>> 8);i = i + (i >>> 16);return i & 0x3f;}

byteValue()

返回此值 Integer为 byte的基本收缩转换后。

public byte byteValue() {return (byte)value;}

compare​(int x, int y)

以数字方式比较两个 int值。
返回值是1或-1或 0

1表示传入的参数前面比后面大
-1表示传入的参数后面比前面大
0表示传入的参数两者相等

public static int compare(int x, int y) {return (x < y) ? -1 : ((x == y) ? 0 : 1);}
int x = 10;
int y = 20;
int i = Integer.compare(x,y);
System.out.println(i);
//输出的结果是-1

compareTo​(Integer anotherInteger)

以数字方式比较两个 Integer对象。

compareTo内部其实也是直接调用的compare方法.

public int compareTo(Integer anotherInteger) {return compare(this.value, anotherInteger.value);}
Integer x3 = new Integer(20);
Integer y3 = new Integer(30);int i2 = y3.compareTo(x3);
System.out.println(i2);
//输出结果是1,证明y3比x3

compareUnsigned​(int x, int y)

public static int compareUnsigned(int x, int y) {return compare(x + MIN_VALUE, y + MIN_VALUE);}

decode​(String nm)

public static Integer decode​(String nm) throws NumberFormatException

将String解码为Integer 。 接受以下语法给出的十进制,十六进制和八进制数:

参数
nm - 要解码的 String 。
结果
Integer对象,持有 int值,由 nm表示
异常
NumberFormatException - 如果 String不包含可解析的整数。

方法源码:

public static Integer decode(String nm) throws NumberFormatException {int radix = 10;int index = 0;boolean negative = false;Integer result;if (nm.length() == 0)throw new NumberFormatException("Zero length string");char firstChar = nm.charAt(0);// Handle sign, if presentif (firstChar == '-') {negative = true;index++;} else if (firstChar == '+')index++;// Handle radix specifier, if presentif (nm.startsWith("0x", index) || nm.startsWith("0X", index)) {index += 2;radix = 16;}else if (nm.startsWith("#", index)) {index ++;radix = 16;}else if (nm.startsWith("0", index) && nm.length() > 1 + index) {index ++;radix = 8;}if (nm.startsWith("-", index) || nm.startsWith("+", index))throw new NumberFormatException("Sign character in wrong position");try {result = Integer.valueOf(nm.substring(index), radix);result = negative ? Integer.valueOf(-result.intValue()) : result;} catch (NumberFormatException e) {// If number is Integer.MIN_VALUE, we'll end up here. The next line// handles this case, and causes any genuine format error to be// rethrown.String constant = negative ? ("-" + nm.substring(index)): nm.substring(index);result = Integer.valueOf(constant, radix);}return result;}

divideUnsigned​(int dividend, int divisor)

public static int divideUnsigned​(int dividend, int divisor)

返回将第一个参数除以第二个参数的无符号商,其中每个参数和结果都被解释为无符号值。

参数
dividend - 要划分的值
divisor - 进行分割的值
结果
第一个参数的无符号商除以第二个参数

getInteger​(String nm)

public static Integer getInteger​(String nm)

确定具有指定名称的系统属性的整数值。
第一个参数被视为系统属性的名称。 可以通过System.getProperty(java.lang.String)方法访问系统属性。 然后,使用decode支持的语法将此属性的字符串值解释为整数值,并返回表示此值的Integer对象。

如果没有具有指定名称的属性,如果指定的名称为空或null ,或者属性没有正确的数字格式,则返回null 。

换句话说,此方法返回一个等于值的Integer对象:

getInteger(nm, null)

参数
nm - 属性名称。
结果
Integer该物业的价值。

getInteger​(String nm, int val)

public static Integer getInteger​(String nm, int val)

确定具有指定名称的系统属性的整数值。
第一个参数被视为系统属性的名称。 可以通过System.getProperty(java.lang.String)方法访问系统属性。 然后,使用decode支持的语法将此属性的字符串值解释为整数值,并返回表示此值的Integer对象。

第二个参数是默认值。 如果没有指定名称的属性,如果属性没有正确的数字格式,或者指定的名称为空或null ,则返回表示第二个参数值的Integer对象。

换句话说,此方法返回一个等于值的Integer对象:

getInteger(nm, new Integer(val))

参数
nm - 财产名称。
val - 默认值。
结果
Integer该物业的价值。

highestOneBit​(int i)

public static int highestOneBit​(int i)

返回int值,最多只有一位,位于指定int值中最高位(“最左侧”)的一位。 如果指定的值在其二进制补码表示中没有一位,即,如果它等于零,则返回零。

参数
i - 要计算其最高位的值
结果
int具有单个一位的值,位于指定值中最高位一位的位置,如果指定值本身等于零,则为零。

lowestOneBit​(int i)

public static int lowestOneBit​(int i)

返回一个int值,最多只有一位,位于指定int值中最低位(“最右侧”)一位的位置。 如果指定的值在其二进制补码表示中没有一位,即,如果它等于零,则返回零。

参数
i - 要计算其最低一位的值
结果
int具有单个一位的值,位于指定值中最低位一位的位置,如果指定值本身等于零,则为零。

max​(int a, int b)

public static int max​(int a, int b)

返回两个 int值中较大的一个, int调用 Math.max一样 。

参数
a - 第一个操作数
b - 第二个操作数
结果
a和 b的较大者

min​(int a, int b)

public static int min​(int a, int b)

返回两个 int值中较小的一个, int调用 Math.min一样 。

参数
a - 第一个操作数
b - 第二个操作数
结果
较小的 a和 b

reverse​(int i)

public static int reverse​(int i)

返回通过反转指定的 int值的二进制补码表达式中的位顺序获得的值。
参数
i - 要反转的值
结果
通过反转指定的 int值中的位顺序获得的值。

reverseBytes​(int i)

public static int reverseBytes​(int i)

返回通过反转指定的 int值的二进制补码表示中的字节顺序获得的值。
参数
i - 要反转其字节的值
结果
通过反转指定的 int值中的字节获得的值。

signum​(int i)

public static int signum​(int i)

返回指定的int值的signum函数。 (如果指定的值为负,则返回值为-1;如果指定的值为零,则返回0;如果指定的值为正,则返回1。)
参数
i - 要计算其signum的值
结果
指定 int值的signum函数。

sum​(int a, int b)

public static int sum​(int a, int b)

根据+运算符将两个整数相加。
参数
a - 第一个操作数
b - 第二个操作数
结果
总和 a和 b

parse方法

parseInt​(CharSequence s, int beginIndex, int endIndex, int radix)

public static int parseInt​(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException

参数
s -所述 CharSequence含有 int表示被解析
beginIndex - 起始索引,包括。
endIndex - 结束索引,不包括。
radix - 解析 s使用的基数。
结果
签名的 int由指定基数中的子 int表示。
异常
NullPointerException - 如果 s为空。
IndexOutOfBoundsException - 如果 beginIndex为负数,或者 beginIndex大于 endIndex或者 endIndex大于 s.length() 。
NumberFormatException - 如果 int在指定的 CharSequence中不包含可解析的 radix ,或者 radix小于 Character.MIN_RADIX或大于 Character.MAX_RADIX 。

parseInt​(String s)

public static int parseInt​(String s) throws NumberFormatException

将字符串参数解析为带符号的十进制整数。 字符串中的字符必须全部为十进制数字,除了第一个字符可以是ASCII减号’-’ ( ‘\u002D’ )以指示负值或ASCII加号’+’ ( ‘\u002B’ )以指示正值。 返回结果整数值,就像参数和基数10作为parseInt(java.lang.String, int)方法的参数一样 。

参数
s -一个 String含有 int表示被解析
结果
十进制参数表示的整数值。
异常
NumberFormatException - 如果字符串不包含可解析的整数。

parseInt​(String s, int radix)

public static int parseInt​(String s, int radix) throws NumberFormatException

参数
s - 包含要解析的整数表示的 String
radix - 解析 s使用的基数。
结果
指定基数中字符串参数表示的整数。
异常
NumberFormatException - 如果 String不包含可解析的 int 。

Value方法

byteValue()

public byte byteValue()

返回此值 Integer为 byte的基本收缩转换后。
结果
转换为类型 byte后此对象表示的数值。

shortValue()

public short shortValue()

返回此值 Integer为 short的基本收缩转换后。
结果
转换为类型 short后此对象表示的数值。

doubleValue()

public double doubleValue()

返回此值 Integer为 double一个宽元转换后。
结果
转换为类型 double后此对象表示的数值。

floatValue()

public float floatValue()

返回此值 Integer为 float一个宽元转换后。
结果
转换为类型 float后此对象表示的数值。

intValue()

public int intValue()

返回此值 Integer为 int 。
结果
转换为类型 int后此对象表示的数值。

longValue()

public long longValue()

返回此值 Integer为 long一个宽元转换后。
结果
转换为类型 long后此对象表示的数值。

ValueOf方法

valueOf​(int i)

返回表示指定的int值的Integer实例。 ==如果不需要新的Integer实例,则通常应优先使用此方法,而不是构造函数Integer(int) ==,因为此方法可能通过缓存频繁请求的值来显着提高空间和时间性能。 此方法将始终缓存-128到127(包括端点)范围内的值,并可以缓存此范围之外的其他值。

public static Integer valueOf​(int i)

参数
i - 一个 int值。
结果
Integer实例,代表 i 。

方法源码:

public static Integer valueOf(int i) {if (i >= IntegerCache.low && i <= IntegerCache.high)return IntegerCache.cache[i + (-IntegerCache.low)];return new Integer(i);}
Integer o = Integer.valueOf(233);
System.out.println(o);//输出233

valueOf​(String s)

返回一个Integer物体保持在指定的值String 。 该参数被解释为表示带符号的十进制整数,就像该参数被赋予parseInt(java.lang.String)方法一样。 结果是Integer对象,表示字符串指定的整数值。

换句话说,此方法返回一个等于值的Integer对象:

new Integer(Integer.parseInt(s))

public static Integer valueOf​(String s) throws NumberFormatException

参数
s - 要解析的字符串。
结果
Integer对象,保存字符串参数表示的值。
异常
NumberFormatException - 如果字符串无法解析为整数。

方法源码:

public static Integer valueOf(String s) throws NumberFormatException {return Integer.valueOf(parseInt(s, 10));}
Integer o = Integer.valueOf("233");
System.out.println(o);//输出的是233

valueOf​(String s, int radix)

当使用第二个参数给出的基数进行解析时,返回一个Integer对象,其中String从指定的String提取的值。 第一个参数被解释为表示由第二个参数指定的基数中的有符号整数,就像将参数赋予parseInt(java.lang.String, int)方法一样。 结果是Integer对象,表示字符串指定的整数值。

public static Integer valueOf​(String s, int radix) throws NumberFormatException

参数
s - 要解析的字符串。
radix - 用于解释 s的基数
结果
Integer对象,保存指定基数中字符串参数表示的值。
异常
NumberFormatException - 如果 String不包含可解析的 int 。

方法源码:

public static Integer valueOf(String s, int radix) throws NumberFormatException {return Integer.valueOf(parseInt(s,radix));}

包装类中Integer类最全详解相关推荐

  1. java中math的方法_Java中Math类常用方法代码详解

    近期用到四舍五入想到以前整理了一点,就顺便重新整理好经常见到的一些四舍五入,后续遇到常用也会直接在这篇文章更新... public class Demo{ public static void mai ...

  2. Java中Unsafe类的原理详解与使用案例

    点击关注公众号,利用碎片时间学习 1 概述 本文基于JDK1.8. Unsafe类位于rt.jar包,Unsafe类提供了硬件级别的原子操作,类中的方法都是native方法,它们使用JNI的方式访问本 ...

  3. python中的类及self详解

    在介绍Python的self用法之前,先来介绍下Python中的类和实例-- 我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以 ...

  4. Java中的类(基础详解)

    文章目录 可以有多个类,但只能有一个public类 类 = 字段+方法 类的构造函数 我们没写构造函数的时候 如果我们自己写了构造函数 构造函数中 this 的使用 类的修饰符 / 控制符 第一类:= ...

  5. java中用法实例_java中Calendar类用法实例详解

    本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...

  6. python中的类及self详解_Python类class参数self原理解析

    1.self只有在类的方法中才会有,其他函数或方法是不必带self的. 2.在调用时不必传入相应的参数. 3.在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类 ...

  7. python中的类及self详解_python中的self详解与对照与网站分享

    接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因.晚上特别针对Python的self查了一下,理理. Python要self的理由 Python的类的方法和普通的函数有一个 ...

  8. Java中有理数类Rational Number详解

    这里的各个方法之间都有很紧密的联系,小伙伴们要耐心地来回推敲哦 /*** Created with IntelliJ IDEA.* Description: Hello,I would appreci ...

  9. PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解

    本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...

最新文章

  1. Java进阶:Semaphore信号量基本使用
  2. 测试x86cpu的指令集
  3. C# does not contain a constructor that takes no parameter
  4. bootstrap 表格不用tr td如何写_Pandas还能用来写爬虫?
  5. 2017.9.29 谁能赢呢? 思考记录
  6. 中国双侧人工耳蜗行业市场供需与战略研究报告
  7. 末日帝国——Agile公司的困境
  8. 修复iPhonex不出声的左扬声器
  9. 电脑功耗监测_VOCS在线监测系统
  10. 工具DebugView、PCHunter、Procexp、Procmon
  11. matlab坐标轴非均匀分布,matalb——生成离散非均匀随机数
  12. 过采样:SMOTE算法
  13. 玩转windbg软件调试视频教程发布-windbg入门教程
  14. 普通风景照如何调色,ps教程
  15. python日常实用小脚本-Python实现自动挂机脚本 | 沐雨浥尘
  16. 李德毅院士:大数据认知
  17. 干货:一文读懂数据仓库设计方案
  18. 最优化方法一:梯度下降法
  19. 苹果网站导航网站推荐(www.mac110.com)
  20. 商城 打印订单时 订单怎么实现自动分页

热门文章

  1. 如何关闭计算机的wps云文档,怎么把wps云文档关掉
  2. Ceph -存储部署 ;
  3. slurm学习笔记(一)
  4. Node.JS实战34:远程屏幕监控?可以的
  5. python读取xlsx文件中的日期
  6. TVS 管 和TSS管
  7. python获取当前日期的前一天_【python】datetime获取日期,前一天日期
  8. JS中设计模式的深入理解
  9. Idea21 每次运行(main)都会(buid)编译的问题
  10. python计算ks