Java中9大内置基本数据类型Class实例和数组的Class实例
前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到教程。
1、Java中9大內(nèi)置幾本數(shù)據(jù)類型:
對于對象來說,可以直接使用對象.getClass()或者Class.forName(className);、類名.class都可以獲取Class實例.
但是我們的基本數(shù)據(jù)類型,就沒有類的權(quán)限定名,也沒有g(shù)etClass方法.
問題:那么如何使用Class類來表示基本數(shù)據(jù)類型的Class實例?
byte,short,int,long,char,float,double,boolean,void關(guān)鍵字
上述8種類型和void關(guān)鍵字,都有class屬性.
表示int的Class對象: Class clz = int.class;
表示boolean的Class對象: Class clz = boolean.class;
表示void的Class對象:Class clz = void.class;
所有的數(shù)據(jù)類型都有class屬性,表示都是Class對象.
思考:
int的包裝類是Integer
Integer.class ==?== int.class 相等嗎????
結(jié)果是false,說明是兩份字節(jié)碼.
Integer 和int是同一種數(shù)據(jù)類型嗎? 不是
但是在八大基本數(shù)據(jù)類型的包裝類中都有一個常量:TYPE,
TYPE表示的是該包裝類對應(yīng)的基本數(shù)據(jù)類型的Class實例.
如:<pre><code>
Integer.TYPE----->int.class
Integer.TYPE==int.class;//YES
Integer.TYPE == Integer.class;//ERROR</pre></code>
摘自jdk源碼:基本數(shù)據(jù)類型包裝類TYPE的實現(xiàn)。
2、數(shù)組類型的Class實例
每個數(shù)組屬于被映射為 Class 對象的一個類,所有具有相同元素類型和維數(shù)的數(shù)組都共享該 Class 對象(摘自JDK原話)。
數(shù)組的Class實例:
String[] sArr1 ={"A","C"};
String[] sArr2 = {};
String[][] sArr = {};
int[] sArr = {};
表示數(shù)組的Class實例:
String[] sArr1 = {"A","C"};
Class clz = String[].class;//此時clz表示就是一個String類型的一位數(shù)組類型
所有具有相同元素類型和維數(shù)的數(shù)組才共享同一份字節(jié)碼(Class對象);
注意:和數(shù)組中的元素沒有一點關(guān)系.
eg:<pre><code>
public static void main(String[] args) {
作者:老勇
鏈接:https://www.jianshu.com/p/58976c8bf1e1
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
?
總結(jié)
以上是生活随笔為你收集整理的Java中9大内置基本数据类型Class实例和数组的Class实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot下无法加载主类 o
- 下一篇: 举例说明Java中代码块的执行顺序