int 是基本类型,直接存数值,integer是对象,用一个引用指向这个对象
int 是基本数据类型,Integer是类
int类的变量初始为0,Integer的变量则初始化为null. 如果只是用来进行一些加减乘除的运算or作为参数进行传递,那么就可以直接声明为int基本数据类型;
如果要像对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用
的方法。
public static void main(String args[]){
Integer i = new Integer(5);
Integer j = new Integer(5);
System.out.print(i==j);//false:比较的是i与j,new后是申请了两块内存分别用来存放5,两块内存不同
System.out.println(i.equals(j));//true:比较的是i的内容与j的内容boolean java.lang.Integer.equals(Object obj)
String aa = "aaaaa";
String bb = "aaaaa";
System.out.println(aa.equals(bb));//boolean java.lang.String.equals(Object anObject)
/**
* i.equals(j) 与 aa.equals(bb)这两个equals分别是两个类下的函数
* Integer类下:
* public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
} String类下:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
} * */ // Integer i = -127;
// Integer j = -127;
// System.out.print(i==j);//-128~127内为true;其他的为false;因为缓存就是-128~127(1byt)
// System.out.println(i.equals(j));//true:比较的是i的内容与j的内容
/**
* 缓存
* Integer (-128~127)
* Boolean (all)
* Byte (all)
* Character (<=127)
* Short (-128~127)
* Long (-128~127)
* Float (none)
* Double (none)
* **/
// Double a = 12.1;
// Double b = 12.1;
// System.out.println(a==b);//false;Double 无缓存
// System.out.println(a.equals(b));//true
// double aa = 12.1;
// double bb = 12.1;
// System.out.println(aa==bb);//true
// //System.out.println(aa.equals(bb));
// //Cannot invoke equals(double) on the primitive type double // int i = -1288;
// int j = -1288;
// System.out.println(i==j);//true,只要两个数字相等,就是true // String a = "hello";//当创建一个字符串时,先去String poll(缓存池)内找,找到直接返回赋值
// String b = "hello";//这两个字符串都是String poll(缓存池)内的同一个
// String c = new String("hello");
// System.out.println(a==b);//true;String有缓存
// System.out.println(a==c);//false;a是缓存池内的,c是重新申请的内存占“hello”这6个字节(最后一个是结束符),两者不同
// System.out.println(a.equals(b));//true
// System.out.println(a.equals(c));//true // String i = "12";//字符串必须为数字类型的,否则会报java.lang.NumberFormatException
// int a =Integer.parseInt(i, 16);//转换为16进制
// System.out.println(a);
// int b = Integer.parseInt(i);//默认为10进制
// System.out.println(a+2); // Integer i = 1;
// i = Integer.reverse(i);//倒序
// System.out.println(i);//-2147483648
// i = Integer.reverse(i);
// System.out.println(i);//1 }

  

Integer & int & == & equals的更多相关文章

  1. list<Integer>,Integer[],int[]之间的互转(jdk1.8)

    偶然在开发过程中需要将int[] 转成 List<Integer>,采用了遍历的方式,写的代码实在太多. List<Integer> list = new ArrayList& ...

  2. String,Integer,int类型之间的相互转换

    String, Integer, int 三种类型之间可以两两进行转换 1. 基本数据类型到包装数据类型的转换 int -> Integer (两种方法) Integer it1 = new I ...

  3. Integer ==与Equals【原创】

    package Equals; public class IntegerEquals { public static void main(String[] args) { printLine(128) ...

  4. IntegerCache缓存占用堆、栈、常量池的问题,自动拆装箱的基本概念,Integer==int时的问题说明

    原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 先普及一个基本概念:Java中基本数据类型的装箱和拆箱操作 自动装箱 在JDK5以后,我们 ...

  5. mysql Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT

    使用mysql的时候,用到int类型的蛮多,需要注意一下: 1. 值的范围 Type Storage Minimum Value Maximum Value   (Bytes) (Signed/Uns ...

  6. Java中List, Integer[], int[]的相互转换

    import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Mai ...

  7. LeetCode 7 Reverse Integer & int

    Reverse Integer 想用余10直接算,没想到 -123%10 是 7, 原因 -123-(-123//10*10) r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同 ...

  8. 7.Reverse Integer (INT; Overflow)

    Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 思路:要注意溢出 ...

  9. LeetCode 7 Reverse Integer int:2147483647-2147483648 难度:2

    https://leetcode.com/problems/reverse-integer/ class Solution { public: int inf = ~0u >> 1; in ...

随机推荐

  1. 小白的vue学习路程

    最近公司开发新的项目,前端框架选定vue,对于前端小白的我,需要自己学习补充能量. vue的最大特点:响应的数据绑定.组合的视图组件. vue文件里面包含三种:<template>html ...

  2. jQuery构造函数init参数分析(二)

    接着上一篇随笔讨论. 如果selector是其他字符串情况就比较多了比较复杂了 // Handle HTML strings if ( typeof selector === "string ...

  3. C语言 指针例解

    在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值.由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元 ...

  4. ARP投毒及其防御方法

    1.攻击原理 ARP欺骗就是中间人欺骗pc机,告诉pc机它是服务器.再欺骗服务器,告诉服务器它就是pc机.以致获取服务器与pc机的会话信息. 中间人欺骗服务器时,会给服务器发一个报文,发之前把报文中的 ...

  5. Ioc Autofac心得

    对于这个容器注入,个人也不是很熟悉,很多还不懂,只会基本的操作,几天把它记录下来,说不定以后帮助就大了呢,这方面跟安卓差距还是挺大的 下面记录下应用的流程 步骤: 1.添加应用 2.重写工厂(这里讲的 ...

  6. iOS通用的MVC模式项目框架MobileProject

    最近项目比较不赶的情况下,决定把一些通用.常用的内容集成在一个项目框架中,意在新项目中可以快速搭建:其实经过几个项目后,总是有一些重复的创建工作,可以使用本项目的内容直接进行开发:采用的是MVC的分层 ...

  7. 【读书笔记】iOS-苹果的网络

    一,网络结构. 1,客户端服务器网络结构. 客户端服务器网络结构是一种主从网络结构.服务器是被动的,有点像餐厅的服务员.而客户端是主动的,像在餐厅吃饭的顾客. 2,对等网络结构. 对等网络也叫点对点网 ...

  8. 网络热恋之XML解析

    XML 可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 易读性高,编码手写难度小,数据量大 NSXMLPars ...

  9. HttpClient 教程 (A)

    前言 超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了.Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴,同时,也增加了需 ...

  10. 谈一次php无限极分类的案例

    作者:白狼 出处:http://www.manks.top/php_tree_deep.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...