javaSE - 009 - Integer陷阱和可变参数

Integer陷阱

public static void main(String[] args) {
  Integer a = 200;
  Integer b = 200;
  if (a == b) {
   System.out.println("a == b");
  } else {
   System.out.println("a != b");
  }

  a = 100;
  b = 100;
  if (a == b) {
   System.out.println("a == b");
  } else {
   System.out.println("a != b");
  }
 }
输出结果:
a != b
a == b
看源码得:Integer将[-128,127]的数值做了缓存的。要使用直接用,不会创建新的Integer对象,其他原生类型可能也有类似的问题

可变参数

可变参数只能作为最后一个参数

private static int sumAdd(int... nums) {
  int sum = 0;
  for (int num : nums) {
   sum += num;
  }
  return sum;
 }

 public static void main(String[] args) {
  System.out.println(sumAdd(1, 2, 3, 4, 5, 6));
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容