integer 订阅
integer,整数 / 整型数,与小数 / 浮点数相对,是编程语言的基本数据类型之一,用以指示变量的数据类型,有时也用于常量(变量、表达式)的强制数据类型转换。整型数据的长度及其取值范围并不固定,受编译环境影响。在不同的编程语言中做此类型声明时,具体实现方式也可能会有所区别。 展开全文
integer,整数 / 整型数,与小数 / 浮点数相对,是编程语言的基本数据类型之一,用以指示变量的数据类型,有时也用于常量(变量、表达式)的强制数据类型转换。整型数据的长度及其取值范围并不固定,受编译环境影响。在不同的编程语言中做此类型声明时,具体实现方式也可能会有所区别。
信息
外文名
integer
相对应概念
小数 / 浮点数
中文名
整数 / 整型数
范    畴
编程语言
integer含义
Integer 数据类型Integer 一个整型数据用来存储整数,整数包括正整数,负整数和零。整型常量采用十进制整数表示。如 1991,0,-123等等都是整型常量。而52.0或131.4都不是整型常量。Integer 变量存储为最接近编译环境的长度,例如在32位的编译环境下,Integer为32位,其范围为 -2^15 到 2^15-1 之间。VB中Integer 的类型声明字符是百分比符号 (%)。Pascal中就是integer。在C语言中被缩写成为int。
收起全文
精华内容
参与话题
问答
  • Integer

    2018-09-28 17:48:02
    Integer类实现了Comparable接口,所以可以用compareTo进行比较并且Integer对象只能和Integer类型的对象进行比较,不能和其他类型比较 Integer继承了Number类,所以该类可以调用longValue、floatValue、doubleValue...

    ①特性

    • Integer类不能被继承
    • Integer类实现了Comparable接口,所以可以用compareTo进行比较并且Integer对象只能和Integer类型的对象进行比较,不能和其他类型比较
    • Integer继承了Number类,所以该类可以调用longValue、floatValue、doubleValue等系列方法返回对应的类型的值

    ②方法

    • compareTo(Integer anotherInteger)
    • equals(Object obj)
    • byteValue()
    • doubleValue()
    • floatValue()
    • intValue()
    • shortValue()
    • longValue()
    • toString()

    ③示例

     @Test
        public void test1() {
            Integer integer = 12;
            System.out.println(integer.equals(12));
            System.out.println(integer.compareTo(11));
            System.out.println(integer.toString());
            System.out.println(integer.byteValue());
            System.out.println(integer.floatValue());
            System.out.println(integer.intValue());
            System.out.println(integer.longValue());
            System.out.println(integer.shortValue());
        }

     

    展开全文
  • IntegerCache

    万次阅读 2020-09-11 12:09:32
    Integer CacheIntegerCache源码Integer 使用Cache源码瞎搞 IntegerCache源码 java.lang.Integer.IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; ... } ...

    IntegerCache源码


    java.lang.Integer.IntegerCache {
            static final int low = -128;
            static final int high;
            static final Integer cache[];
            ...
    }
    
    • Cache会缓存 [low, high-low] 范围内的整数
    • high默认127 范围 [127, Integer.MAX_VALUE - (-low) -1] , 可由 java.lang.Integer.IntegerCache.high 设置

    Integer 使用Cache源码


    public final class Integer extends Number implements Comparable<Integer> {
    	...
    	private final int value;
    	...
    	public static Integer valueOf(int i) {
    		if (i >= IntegerCache.low && i <= IntegerCache.high)
    			return IntegerCache.cache[i + (-IntegerCache.low)];
    		return new Integer(i);
    	}
    	...
    }
    
    • 可以看出非new的Integer如果值在[low, high]内, 则复用同一个对象
    • 注意java.lang.Integer#value为final

    瞎搞


    实现一段任何数字与Integer a = 2相乘为0的功能

    /**
     * Integer常量池
     */
    @Log4j2
    public class ModifyInteger {
    
        static {
            try {
                modify();
            } catch (NoSuchFieldException | IllegalAccessException e) {
                e.printStackTrace();
            }
        }
    
        private static void modify() throws NoSuchFieldException, IllegalAccessException {
            // 1. 获取 IntegerCache 类
            Class<?> IntegerCache = Integer.class.getDeclaredClasses()[0];
    
            // 2. 获取 value 字段
            Field integerCacheValue = IntegerCache.getDeclaredField("cache");
            Field integerCacheLow = IntegerCache.getDeclaredField("low");
    
            // 3. 获取缓存数组
            integerCacheValue.setAccessible(true);
            Integer[] sourceCache = (Integer[]) integerCacheValue.get(Integer.class);
    
            // 4. 获取缓存最小值
            integerCacheLow.setAccessible(true);
            int low = integerCacheLow.getInt(Integer.class);
    
            // 5. 将缓存中的 2 修改为 0 (偷梁换柱)
            sourceCache[(low < 0 ? -low : low) + 2] = 0;
        }
    
        public static void check(Integer n) {
            Random random = new Random(System.currentTimeMillis());
            for (int idx = 0; idx < 10; idx++) {
            	// 14:48:53.775 [main] INFO org.example.codeTest.ModifyInteger - random * 2 = 0
                log.info("random * 2 = {}", random.nextInt(100) * n);
            }
        }
        
        public static void main(String[] args) {
            check(2);
        }
    }
    
    展开全文
  • Integer.valueOf和Integer.parseInt的区别

    千次阅读 2017-03-15 15:52:21
    int from = Integer.valueOf(range.getFrom()); int from = Integer.parseInt(range.getFrom()); 我看我们项目里面很多是第一种写法,那么有什么区别呢? Integer.valueOf的源代码是这样的: public static...
    String转int的两种写法
    int from = Integer.valueOf(range.getFrom());
    int from = Integer.parseInt(range.getFrom());
    那么有什么区别呢?

    Integer.valueOf的源代码是这样的:
    public static Integer valueOf(String s, int radix) throws NumberFormatException {
        return Integer.valueOf(parseInt(s,radix));
    }
    所以转换顺序是:String => int => Integer => int

    Integer.parseInt的源代码是这样的:
    public static int parseInt(String s) throws NumberFormatException {
        return parseInt(s,10);
    }
    所以转换顺序是:String => int

    结论:推荐的写法是
    int from = Integer.parseInt(range.getFrom());
    展开全文
  • 1.Integer转换成int的方法 Integer i = new Integer(10);  int k = i.intValue(); 即Integer.intValue();   2.int转换成Integer int i = 10; Integer it = new Integer(i);   3.String转换成int的方法 ...
    1.Integer转换成int的方法

    Integer i = new Integer(10); 
    int k = i.intValue();
    即Integer.intValue();

     

    2.int转换成Integer

    int i = 10;
    Integer it = new Integer(i);

    3.String转换成int的方法

    String str = "10";  
    Integer it = new Interger(str);  


    int i = it.intValue();  

    即:int i = Integer.intValue(string);

    4.int转换成String


    int i = 10;


    (1)String s = String.valueOf(i);


    (2)String s = Ingeger.toString(i);


    (3)String s = "" + i;

    5.String转换成Integer

    String str = "10";

    Integer it = Integer.valueOf(str);
     


    6.Integer转换成String


    Integer it = new Integer(10);


    String str = it.toString();
     

    7.String转换成BigDecimal


    BigDecimal bd = new BigDecimal(str);


    8.日期

    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH)+1;
    int day = calendar.get(Calendar.DATE);

    //获取今天的日期字符串
    String today = java.text.DateFormat.getDateInstance().format(new java.util.Date());
    //获取今天的日期
    new java.sql.Date(System.currentTimeMillis());
    展开全文
  • 后者因为Integer覆盖了Object类中的equals(),此时equals()比较的是Integer的对象的内容,也即int值; */ //static Integer a=new Integer(5); //static Integer b=new Integer(5); /*此时a==b和a....
  • 发现做项目的过程中,在数值类型的比较上容易犯错,特别是IntegerInteger的比较,Integer和int的比较。虽然这些都是些基础语法,但稍不留意就容易犯错,在实际开发过程中如果出现这类失误,很容易失之毫厘谬以千里...
  • Reverse Integer

    千次阅读 2014-02-26 21:24:08
    1.Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Have you thought about this? Here are some good questions to ask before coding.
  • 关于Integer a=1;的问题

    2015-06-14 03:15:26
    Integer是int封装类,它可以直接Integer a=1; 创建对象。 查询资料,Integer a=1;实际上执行的是Integer a=Integer.valueOf(1) 我参考Integer的源代码也创建了个Integer类,可是为何不能直接赋值? **自己创建的...
  • java中Integer传参是无法改变原值的,如 Integer i = new Integer(-1); void chang(Integer i){ i = 1; } 甚至在chang函数中new Integer(1)都无法改变 i 的值,如i = new Integer(1); 那么问题是:为什么可以...
  • int和Integer之间转换老报错,改为parseInt,valueOf等等都不行,快崩溃了 ![图片说明](https://img-ask.csdn.net/upload/201705/08/1494214709_388692.jpg) ``` package com.example.shop; import java.util....
  • Java进阶(三十五)java int与integer的区别

    万次阅读 多人点赞 2016-07-19 19:26:08
    java int与integer的区别前言 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象。 1.Java 中的数据类型分为基本数据类型...
  • Integer id=new Integer(request.getParameter("id")); if(id==null){ id=UUID.randomUUID().toString(); } filecard.setId(id); fs.addFilecard(filecard); mv.setViewName("redirect:...
  • Java中(Integer)127 == (Integer)127和(Integer)129 == (Integer)129表达式 哲理有个大家容易忽视的问题 127就是true 129就是false java堆堆integer做了缓存,范围是-128~127 129越界,需要去重新分配 我的问题是...
  • Integer 数据类型

    千次阅读 2018-01-20 22:19:50
    Integer 数据类型 简介 JavaScript 所有数字都保存成 64 位浮点数,这决定了整数的精确程度只能到 53 个二进制位。大于这个范围的整数,JavaScript 是无法精确表示的,这使得 JavaScript 不适合进行科学和金融...
  • Java 的Integer、int与new Integer到底怎么回事?

    万次阅读 多人点赞 2016-09-22 16:27:41
    1. int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较。 2. IntegerInteger比较的时候,由于直接赋值的时候会进行自动的装箱,那么这里就需要注意两个问题,一个是-128 3. new Integer(1...
  • 一直觉得自己Java基础还不错,但是第一眼看到(Integer)129 == (Integer)129表达式时竟然无法立刻反映过来结果到底是true还是false,不妨先来看一下下面简单的Java程序:package com.csdn.test;public class Main { ...
  • java int 类整数的最大值是 2 的 31 次方 - 1...可以用 Integer.MAX_VALUE 表示它,即 int value = Integer.MAX_VALUE; Integer.MAX_VALUE + 1 = Integer.MIN_VALUE = -2147483648 再大的数就要用 long (最大值...
  • Integer.parseInt解读

    千次阅读 2019-05-13 11:10:32
    int I = Integer.parseInt("123456"); 当我们要把字符串转成整数时,最常用的就是上面的一行代码,现在就看看 parseInt 是如何实现的 当执行上述代码时,系统默认按照十进制转换 public static int parseInt...
  • 基本概念的区分: ...3、Integer 实际是对象的引用,当new一个 Integer时,实际上是生成一个指针指向此对象;而 int 则是直接存储数据值 4、Integer的默认值是null,int的默认值是0 Integer、new In...
  • 成功解决TypeError: only integer scalar arrays can be converted to a scalar index 目录 解决问题 解决思路 解决方法 解决问题 TypeError: only integer scalar arrays can be converted to a ...
  • //ArrayList<Integer> list = new ArrayList<Integer>(); //list.add(k); return KthNode(pRoot,new Integer(k)); } public static TreeNode KthNode(TreeNode p,Integer K){ TreeNode target = null; ...
  • IdentityHashMap<Integer, String> map =new IdentityHashMap<Integer, String>(); String s1 =new String("test"); map.put(new Integer(4), s1); map.put(new Integer(4), s1); System.out.println...
  • int 和 Integer的区别

    千次阅读 2018-12-15 23:51:16
    int 和 Integer的区别分析intIntegerint 与 Integer 的区别相同值下的 int 和 Integer 的比较结果 分析 int int 是java的基本数据类型。 Integer Integer 继承了Object类,是对象类型,是 int 的包装类。 int 与 ...
  • 本文将介绍一下Java中关于Integer的缓存知识,首先看一下下面的代码,猜测一下会输出什么结果。 [java] view plain copy /**   * Created by lanxing on 16-3-13.   */  public class ...
  • 关于Integer.parseInt()

    2016-10-16 07:45:48
    public static void main(String[] args) { ... s[k] = Integer.parseInt(args[j],10); j++; System.out.println("s[" + k +"] = " + s[k]); } 进行包装类之后,输出结果全为一,这是为什么
  • Java进阶(三十四)Integer与int的种种比较你知道多少?

    万次阅读 多人点赞 2016-07-19 19:17:29
    Integer与int的种种比较你知道多少?前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类;int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i ...

空空如也

1 2 3 4 5 ... 20
收藏数 208,555
精华内容 83,422
关键字:

integer