Integer & int & == & equals
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的更多相关文章
- list<Integer>,Integer[],int[]之间的互转(jdk1.8)
偶然在开发过程中需要将int[] 转成 List<Integer>,采用了遍历的方式,写的代码实在太多. List<Integer> list = new ArrayList& ...
- String,Integer,int类型之间的相互转换
String, Integer, int 三种类型之间可以两两进行转换 1. 基本数据类型到包装数据类型的转换 int -> Integer (两种方法) Integer it1 = new I ...
- Integer ==与Equals【原创】
package Equals; public class IntegerEquals { public static void main(String[] args) { printLine(128) ...
- IntegerCache缓存占用堆、栈、常量池的问题,自动拆装箱的基本概念,Integer==int时的问题说明
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 先普及一个基本概念:Java中基本数据类型的装箱和拆箱操作 自动装箱 在JDK5以后,我们 ...
- mysql Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
使用mysql的时候,用到int类型的蛮多,需要注意一下: 1. 值的范围 Type Storage Minimum Value Maximum Value (Bytes) (Signed/Uns ...
- Java中List, Integer[], int[]的相互转换
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Mai ...
- LeetCode 7 Reverse Integer & int
Reverse Integer 想用余10直接算,没想到 -123%10 是 7, 原因 -123-(-123//10*10) r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同 ...
- 7.Reverse Integer (INT; Overflow)
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 思路:要注意溢出 ...
- LeetCode 7 Reverse Integer int:2147483647-2147483648 难度:2
https://leetcode.com/problems/reverse-integer/ class Solution { public: int inf = ~0u >> 1; in ...
随机推荐
- [js开源组件开发]loading加载效果
loading加载效果 由于程序和网络的原因,常常我们需要在交互的时候,给用户一个正在加载中的动画,于是,loading组件横空出世.不需要复杂的代码,也能完成大多数业务,这就是我做组件的原则. 效果 ...
- 仿iphone日历插件(beta)
前言 小伙伴们好,很久不见了.最近工作进入正常期了,所以慢慢的悠闲的时间久没有了,所以不能每天水一篇了. 最近也在听师傅(http://home.cnblogs.com/u/aaronjs/)的教导开 ...
- [deviceone开发]-百度地图do_BaiduMap的示例
一.简介 这个示例展示了百度地图的基本使用,并增加了一个自定义弹出的标示.这个标示是一个自定义的label,里面是地点的文字描述.因为这个组件需要根据应用app的包名去申请不同的key,所以提供一个可 ...
- html5音频和视频标签
在html5之前的版本中如果想要在网页中插入音频和视频必须要安装插件才可以,比如最常见的flash插件.很多人在刚安装一款浏览器的时候都会遇到浏览器建议安装flash插件,在移动端也是如此.如果想要在 ...
- 简单代码在ABAP中实现声音的播放
这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REP ...
- 闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]
闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊. 主要从概述,参考资料,图书等几个方面说起. 所有的界面开发都会涉及如下的几个方面的内容: v 控 ...
- [android]亲自破解Flappy Bird(去广告+永生)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3544785.html 听说最近Flappy Bird很火,但 ...
- 一文让你彻底了解iOS字体相关知识
写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅. 一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后 ...
- CATransform3D方法汇总
CATransform3D三维变换 struct CATransform3D { CGFloat m11, m12, m13, m14; CGFloat m21, m22, m23, m24; CGF ...
- 【代码笔记】iOS-时间选择框
一, 效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewControlle ...