最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)非法訪問(wèn)異常示例

 更新時(shí)間:2014年02月27日 15:47:55   作者:  
創(chuàng)建ExceptionTest類,在該類的main()方法中,使用反射獲得String類的所有域,不要使用setAccessible方法修改這些域的可見(jiàn)性,然后通過(guò)反射獲得私有域中與”hash”相匹配的int值,并使用try-catch語(yǔ)句塊捕獲非法訪問(wèn)異常

思路分析:

首先使用Class獲得一個(gè)代表String類的類對(duì)象,然后使用Class類的getDeclaredFields()方法獲得所有成員變量,并賦值給一個(gè)Field型數(shù)組,即得到String類的所有域。
使用foreach()循環(huán)遍歷所有域,使用Field類的getName()方法獲得該成員變量的名稱,如果域的名字是hash,嘗試使用Field類的getInt(Object obj)方法獲得指定對(duì)象中類型為int的該成員變量的值。
依次捕獲IllegalArgumentException異常和IllegalAccessException異常。
代碼如下:

復(fù)制代碼 代碼如下:

import java.lang.reflect.Field;

public class ExceptionTest {
    public static void main(String[] args) {
        Class<?> clazz = String.class;                        //獲得代表String類的類對(duì)象
        Field[] fields = clazz.getDeclaredFields();
        for (Field field : fields) {                            //遍歷所有域        
            System.out.println(field);
            if (field.getName().equals("hash")) {               //如果域的名字是hash
                try {
                    System.out.println(field.getInt("hash"));   // 輸出hash的值
                } catch (IllegalArgumentException e) {      //捕獲IllegalArgumentException異常
                    System.out.println(e);
                } catch (IllegalAccessException e) {            //捕獲IllegalAccessException異常
                    System.out.println(e);
                }
            }
        }
    }
}


相關(guān)文章

  • Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例

    Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 關(guān)于Spring源碼深度解析(AOP功能源碼解析)

    關(guān)于Spring源碼深度解析(AOP功能源碼解析)

    這篇文章主要介紹了關(guān)于Spring源碼深度解析(AOP功能源碼解析),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring中@Validated和@Valid區(qū)別淺析

    Spring中@Validated和@Valid區(qū)別淺析

    @Valid是javax.validation里的,?@Validated是@Valid?的一次封裝,是Spring提供的校驗(yàn)機(jī)制使用,下面這篇文章主要給大家介紹了關(guān)于Spring中@Validated和@Valid區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Mybatis-Plus 全局配置無(wú)效的解決方案

    Mybatis-Plus 全局配置無(wú)效的解決方案

    這篇文章主要介紹了Mybatis-Plus 全局配置無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • springmvc的@Validated注解使用

    springmvc的@Validated注解使用

    這篇文章主要介紹了springmvc的@Validated注解使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java instanceof關(guān)鍵字的的進(jìn)一步理解

    Java instanceof關(guān)鍵字的的進(jìn)一步理解

    這篇文章主要介紹了Java instanceof關(guān)鍵字的的進(jìn)一步理解,本文用一些實(shí)例講解了instanceof操作符的一些知識(shí),需要的朋友可以參考下
    2015-03-03
  • 詳解Java線程堆棧

    詳解Java線程堆棧

    本篇文章主要給大家講了Java線程堆棧的詳細(xì)原理以及用法,需要的朋友跟著學(xué)習(xí)下吧。
    2017-12-12
  • 基于Java中進(jìn)制的轉(zhuǎn)換函數(shù)詳解

    基于Java中進(jìn)制的轉(zhuǎn)換函數(shù)詳解

    下面小編就為大家?guī)?lái)一篇基于Java中進(jìn)制的轉(zhuǎn)換函數(shù)詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • java使用lambda表達(dá)式多條件排序方式

    java使用lambda表達(dá)式多條件排序方式

    這篇文章主要介紹了java使用lambda表達(dá)式多條件排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java中雙重檢查鎖(double checked locking)的正確實(shí)現(xiàn)

    Java中雙重檢查鎖(double checked locking)的正確實(shí)現(xiàn)

    雙重檢查鎖(Double-Check Locking),顧名思義,通過(guò)兩次檢查,并基于加鎖機(jī)制,實(shí)現(xiàn)某個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Java中雙重檢查鎖(double checked locking)的相關(guān)資料,需要的朋友可以參考下
    2021-09-09

最新評(píng)論

铁岭县| 武定县| 交城县| 纳雍县| 伽师县| 宁国市| 英吉沙县| 高陵县| 和林格尔县| 巩义市| 赤峰市| 天津市| 昭觉县| 许昌市| 舟曲县| 前郭尔| 长丰县| 宁陵县| 来安县| 巴南区| 屏山县| 东兰县| 云龙县| 河北省| 南昌县| 新津县| 安溪县| 光山县| 正镶白旗| 沾益县| 华阴市| 万山特区| 芜湖县| 连平县| 五原县| 东辽县| 哈尔滨市| 贵州省| 封开县| 泊头市| 沂南县|