我有class
像Test
。我通過class
作爲參數。<className> .class和此差異(代表<classname>)
是什麼下面的代碼之間的差:
Map maps = new HashMap();
maps.put("ARG_ID",Test.class);
和
Map maps = new HashMap();
maps.put("ARG_ID",this);
我有class
像Test
。我通過class
作爲參數。<className> .class和此差異(代表<classname>)
是什麼下面的代碼之間的差:
Map maps = new HashMap();
maps.put("ARG_ID",Test.class);
和
Map maps = new HashMap();
maps.put("ARG_ID",this);
Test.class
是表示Test
Class
對象,它用於反射和泛型。 this
,在類中引用時,是您正在處理的類的當前實例。
那麼,第一個表單將一個引用傳遞給Class
的實例。第二種形式通過this
參考 - 這是一個實例的一個類...他們是兩個完全不同的對象。
如果您使用泛型來描述您的鍵/值類型應該是什麼,它會讓您更清楚您要做什麼,編譯器會阻止您嘗試添加錯誤類型的值。