java實現(xiàn)非法訪問異常示例
思路分析:
首先使用Class獲得一個代表String類的類對象,然后使用Class類的getDeclaredFields()方法獲得所有成員變量,并賦值給一個Field型數(shù)組,即得到String類的所有域。
使用foreach()循環(huán)遍歷所有域,使用Field類的getName()方法獲得該成員變量的名稱,如果域的名字是hash,嘗試使用Field類的getInt(Object obj)方法獲得指定對象中類型為int的該成員變量的值。
依次捕獲IllegalArgumentException異常和IllegalAccessException異常。
代碼如下:
import java.lang.reflect.Field;
public class ExceptionTest {
public static void main(String[] args) {
Class<?> clazz = String.class; //獲得代表String類的類對象
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);
}
}
}
}
}

相關文章
SpringBoot打包發(fā)布到linux上(centos 7)的步驟
這篇文章主要介紹了SpringBoot打包發(fā)布到linux上(centos 7)的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-12-12Java基于socket服務實現(xiàn)UDP協(xié)議的方法
這篇文章主要介紹了Java基于socket服務實現(xiàn)UDP協(xié)議的方法,通過兩個簡單實例分析了java通過socket實現(xiàn)UDP發(fā)送與接收的技巧,需要的朋友可以參考下2015-05-05SpringBoot整合Log4j2實現(xiàn)自定義日志打印失效的原因及解決
本文給大家介紹了關于SpringBoot項目整合Log4j2實現(xiàn)自定義日志打印失效原因及解決辦法,主要的原因是因為SpringBoot的logback包的存在,文中通過圖文給大家了詳細解決方法,需要的朋友可以參考下2024-01-01