java 语法糖
1. 泛型的擦除
public void ta(List<Integer> b) {System.out.println("b");}public void ta(List<String> c) {System.out.println("c");}編譯出錯(cuò),因?yàn)樵诰幾g器看來(lái)都是List?
2. 自動(dòng)裝箱和拆箱
import java.util.*;class A {}class B extends A {}class C extends A {}public class Test {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubInteger a = 1;Integer b = 2;Integer c = 3;Integer d = 3;Integer e = 321;Integer f = 321;Character cc = 3;Long g = 3L;System.out.println(a == b);System.out.println(e == f);System.out.println(g.equals(a+b));System.out.println(cc.equals(a + b));System.out.println(c == (a + b));System.out.println(c.equals(a + b));System.out.println(g == (a+b));System.out.println(a == 1);System.out.println(g == 3);}}output:
false
false
false
false
true
true
true
true
true
equals首先要判斷傳入的參數(shù)是否是同一類(lèi)型的
==比較的是對(duì)象地址
但是當(dāng)有算數(shù)運(yùn)算時(shí),比如+,就自動(dòng)拆箱為基本類(lèi)型
如果==比較的一方是基本類(lèi)型,另一方也拆箱為基本類(lèi)型
總結(jié)
- 上一篇: java实现多路分发
- 下一篇: memset