前言 一开始想学学自动拆箱和自动装箱是被这个名字吸引到,听上去好像很高端的样子,其实自动拆箱.自动装箱是很简单的内容. 自动拆箱和自动装箱 Java为每种基本数据类型都提供了对应的包装器类型.举个例子: public class TestMain { public static void main(String[] args) { Integer i = 10; } } 这个过程中会自动根据数值创建对应的Integer对象,这就是自动装箱.再看另外一段代码: public class TestM…
一.可变参数 可变参数是jdk1.5新特性 1.1.可变参数的格式 数据类型...变量名 // 数据类型...变量名public static void sum(int...arr){ } 1.2.可变参数要注意的细节 1.如果一个函数的形参上使用上可变参数之后,那么调用该方法的时候可以传递参数也可以不传递参数    2.可变参数实际上是一个数组对象    3.可变参数必须位于形参的最后一个参数    4.一个函数最多只有一个可变参数,因为可变参数要位于形参的最后一个位置上 1.3.例子 方法1…
一.关于Integer中常用的方法 package com.bjpowernode.java_learning; ​ public class D77_1_ { public static void main(String[] args) { Integer i1 = new Integer(10); //将Integer类型转换为int类型 int i2 = i1.intValue(); System.out.println(i2); //重要:static int parseInt(Stri…
/** * @描述:自动装箱,自动拆箱 * @date 2017年1月10日下午1:30:01 * 结论:包装类的"=="运算在不遇到算术运算的情况下不会自动拆箱, * 以及他们的equals()方法不处理数据转型的关系 * * equals() 比较的是两个对象的值(内容)是否相同. * "==" 比较的是两个对象的引用(内存地址)是否相同,也用来比较两个基本数据类型的变量值是否相等. * * 对于–128到127(默认是127)之间的值, * Integer.v…
语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(as…
自动装箱与自动拆箱 首先要提到的便是 Java 的自动装箱(auto-boxing)和自动拆箱(auto-unboxing). 我们知道,Java 语言拥有 8 个基本类型,每个基本类型都有对应的包装(wrapper)类型. 之所以需要包装类型,是因为许多 Java 核心类库的 API 都是面向对象的.举个例子,Java 核心类库中的容器类,就只支持引用类型. 当需要一个能够存储数值的容器类时,我们往往定义一个存储包装类对象的容器. 对于基本类型的数值来说,我们需要先将其转换为对应的包装类,再存…
语法糖 Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(assert)等 断言(as…
语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语.指的是,在计算机语言中添加某种语法,这些语法糖虽然不会对语言的功能产生任何影响,却能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会.但是如果只是大量添加和使用语法糖,却不去了解他,容易产生过度依赖,从而无法看清语法糖的糖衣背后,程序代码的真实面目. 总而言之,语法糖可以看做是编译器实现的一些“小把戏”,这些“小把戏”可能会使得效率…
java语法糖---枚举   在JDK5.0中提供了大量的语法糖,例如:自动装箱拆箱.增强for循环.枚举.泛型等.所谓“语法糖”就是指提供更便利的语法供程序员使用,只是在编译器上做了手脚,却没有提供对应的指令集来处理它. 下面要介绍的是枚举这个语法糖的原理. 其实enum就是一个普通的类,它继承自java.lang.Enum类. public enum Sex { MALE, FEMALE } public final class Sex extends java.lang.Enum{ pub…
概述 语法糖(Syntactic Sugar):主要作用是提高编码效率,减少编码出错的机会. 解语法糖发生在Java源码被编译成Class字节码的过程中,还原回简单的基础语法结构. 语法糖之一:泛型(Generics) Java中的泛型又称为类型擦除,它只在Java源码中存在,被编译成字节码后,就已经替换为原生类型了,并在相应的地方加入强制类型转换. 例如: public class GenericTypes { /* * 两个mothod1方法不能被编译,因为List<Integer>和Li…