- public static Object test1(Object obj,String propertyName){
-
- try {
- PropertyDescriptor pd = new PropertyDescriptor(propertyName, obj.getClass());
- Method met = pd.getReadMethod();
- Object retValue = met.invoke(obj, propertyName);
- return retValue; //位置1
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- //位置2
- }
复制代码 代码1- public static Object getProperty(Object obj,String propertyName)
- try {
- PropertyDescriptor pd = new PropertyDescriptor(propertyName, obj.getClass());
- Method met = pd.getReadMethod();
- Object retValue = met.invoke(obj, propertyName);
- return retValue; //位置1
- } catch (Exception e) {
- e.printStackTrace();
- }
- return obj; //位置2
- }
复制代码 代码2
问题一: 代码1 当catch语句中抛出 RuntimeException()这个异常后,位置2处不用写return语句,而代码2中,打印异常的话,能在位置1和位置2都能写返回值.
问题二: 代码2中, 如果写了两个return, 最后返回的是哪一个?
问题三: 代码1中, return 是写在 那个位置上好,为什么?
|