num1==num2: false num3==num4:true 很奇怪吧:这就归结于java对于Integer与int的自动装箱与拆箱的设计,是一种模式:享元模式(flyweight) 为了加大对简单数字的重利用,java定义:在自动装箱时对于值从–128到127之间的值,它们被装箱为Integ ...
分类:
其他好文 时间:
2018-11-17 14:28:05
阅读次数:
167
题目 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。 本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。 输入格式: 输入第一行给出两个正整数:N (≤10?4??) 是成对的不 ...
分类:
其他好文 时间:
2018-11-14 10:22:53
阅读次数:
220
性能 装箱拆箱 装箱拆箱是很平常的操作,但是问题是性能损失很大。 泛型的示例 使用泛型就没有装修和拆箱的性能损失。原因是代码编译后就已经指定List的类型是int,也就是值类型,不会再转换成Object类型。 类型安全 ArrayList添加的类型其实是Object。也就是说如果有类型的转换可能会有 ...
分类:
其他好文 时间:
2018-11-13 12:18:48
阅读次数:
178
基本数据类型转换为引用类型对象 一个自动装箱的例子 一个自动拆箱的例子 枚举类型 所有枚举类型都继承了Enum类 枚举值都是public static final 的 ,也就是常量,因此枚举值应大写 枚举构造器都是私有化的 //当jvm去加载使用枚举类的时候,会预先创建多个枚举类型的对象供外部使用 ...
分类:
编程语言 时间:
2018-11-13 02:29:31
阅读次数:
229
Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入不是对象的基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是 Integer,从 JDK 1.5 开始引入了自动装箱/ ...
分类:
其他好文 时间:
2018-11-12 22:20:30
阅读次数:
201
基础很重要,基础很重要,基础很重要。重要的事情说三遍,。今天聊一聊Java的数据比较,这个范围比较大,基础类型的比较、引用类型的比较。前提:1、Java和c#都提供自动装箱和自动拆箱操作,何为自动装箱,简单点说就是将值类型转换成为引用类型,自动拆箱就是将引用类型转换成为值类型。并且我们还经常被教导,... ...
分类:
编程语言 时间:
2018-11-11 23:24:14
阅读次数:
633
描述 有两艘船,载重量分别是c1、 c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2。确定是否有可能将所有集装箱全部装入两艘船。 输入 多个测例,每个测例的输入占两行。第一行一次是c1、c2和n(n<=10);第二行n个整数表示wi (i=1…n)。n等于0标志输入 ...
分类:
其他好文 时间:
2018-11-11 00:57:35
阅读次数:
148
Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象; 所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类; 当被声明为对象时,编译器会把该类型装箱为包装类 ...
分类:
编程语言 时间:
2018-11-10 10:49:07
阅读次数:
242
包装类:java是典型的面向对象编程,但是八种基本数据类型并不支持面向对象编程。基本类型的数据不具备对象的特性,没有属性和方法。沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。 但是,这种非面向对象的做法也会带来不便,因此,java为每种基本数据类型分别设计了对应的类, ...
分类:
编程语言 时间:
2018-11-07 15:31:43
阅读次数:
208
包装类型 八个基本类型: boolean/1 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。 Integer x = 2; // 装箱 int ...
分类:
其他好文 时间:
2018-11-02 00:05:37
阅读次数:
235