是不是为了体现封装性???

    
raulliran
07-08-03 4 284

在JSP传参中,经常会用到 session.getAttribute(name);
但是它返回的是一个object类型的对象,这样如果要得到自己想要的数据,就得进行格式转换,我觉得非常麻烦(先不说javabean的类型自动转换)
难道JSP的设计者没有想过把它设计成像out.println( );那样可以兼容许多类型的方法吗?
也就是说无论什么类型,我接收后都能得到它原有的类型,无需格式转换,这样不是方便很多?
我想明白为什么要这样定义session??难道是为了安全性的考虑或者是为了体现出了java语言的封装性??

yananay
2007-08-03 15:42

out.println( );

是调用了 Object.toString() 方法。。。。。。。

raulliran
2007-08-03 15:48

out.println(...);
里面的参数可以是整型,浮点,字符串,object对象,等等 可以接受任何类型的变量
然后输出,不需要格式转换

但是我要取他的值,为什么返回类型要固定成object类型呢?为什么不是传什么类型就取什么类型呢?为什么要这样定义呢?
[该贴被raulliran于2007年08月03日 15:50修改过]

yananay
2007-08-03 15:56

所以 jdk1.5 弄了个Generic 来满足你这种需求的人
不过我并不喜欢Generic

Alphajava123
2007-08-03 16:53

t