建议27:谨慎包装类型的大小比较 基本数据类型比较大小木有问题,不过其对应的包装类型大小比较就需要注意了.看如下代码: public class Client { public static void main(String[] args) { Integer a = new Integer(100); Integer b = new Integer(100); /* compareTo返回值:若a>b则返回1:若a==b则返回0:若a<b则返回-1 */ int result = a.com…
建议26: 提防包装类型的null值 我们知道Java引入包装类型(Wrapper Types)是为了解决基本类型的实例化问题,以便让一个基本类型也能参与到面向对象的编程世界中.而在Java 5中泛型更是对基本类型说了“不”,如想把一个整型放到List中,就必须使用Integer包装类型.我们来看一段代码: public class Client { // 计算list中所有元素之和 public static int f(List<Integer> list) { int count = 0…
开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import java.util.List; public class Client { public static void main(String[] args) { int[] data = {1,2,3,4,5}; List list = Arrays.asList(data); System.out.p…
建议23:不要让类型默默转换 public class Client { // 光速是30万公里/秒,常量 public static final int LIGHT_SPEED = 30 * 10000 * 1000; public static void main(String[] args) { long dis1 = LIGHT_SPEED * 1; System.out.println("光速1s:" + dis1 + "米"); long dis2 =…
建议22:用整数类型处理货币. public class Client { public static void main(String[] args) { System.out.println("10-9.5 = " + (10 - 9.5)); System.out.println("10-9.6 = " + (10 - 9.6)); } } 运行结果: 10-9.5 = 0.5 10-9.6 = 0.40000000000000036 奇怪了,为什么10-9.…
提纲: 1.java.lang.0bject中常用方法介绍 2.基本类型对应的包装类型的介绍 以及基本类型和包装类型之间的相互转换 3.java.lang.String 字符串处理类 java.lang.StringBuilder ->包装类型中的方法的使用 ->字符串当中的方法的使用 ->基本类型 包装类型以及字符串还有StringBuilder 之间的相互转换---------------------------------------------------------------…
一.分析  基本类型可以比较大小,其所对应的包装类型都实现了Comparable接口此问题. 二.场景  代码如下: public class Client{ public static void main(String[] args){ Integer i = new Integer(100); Integer j = new Integer(100); compare(i,j); } } public static void compare(Integer I, Integer j){ Sy…
说到数据类型这个问题是一个基本的不能再基本的问题,我们当初编程入门第一课一般就是讲数据类型,而今天我想记录的是一个在Java中容易忽略的问题,即基本类型和包装类型. 一.基本类型出现的原因 我们都知道在Java语言中,new一个对象存储在堆里,我们通过堆栈中的引用来使用这些对象:但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量.(如下图所示为内存空间示意图) 所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用n…
Java的类型分为两部分,一个是基本类型(primitive),如int.double等八种基本数据类型: 一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0 long:长整型,在内存中占64位,即8个字节…
Java的类型分为两部分,一个是基本类型(primitive),如int.double等八种基本数据类型: 另一个是引用类型(reference type),如String.List等.而每一个基本类型又各自对应了一个引用类型,称为包装类型(或装箱类型,boxed primitive). 基本类型与包装类型的主要区别在于以下三个方面: 1.基本类型只有值,而包装类型则具有与它们的值不同的同一性(identity).这个同一性是指,两个引用是否指向同一个对象,如果指向同一个对象,则说明具有同一性.…