java中,类型进行转换时,都是强制转换,都没有类型安全的转换吗?比如:
public class User
{
//code
}
User user=(User)session.getAttribute("user");
在c#中,进行类型转换时,原则就是:在类型转换无可避免的时候,优先使用as运算符,而不是强制转换。
as运算符可以提供更加好的类型安全,这得从两个方面讲。
第一,as运算符是编译时检查的,如果两个类型无法转换,则编译即无法通过,这样当然就避免了问题的发生。
第二,在处理null的时候,as运算符会对Null值返回一个null引用,而不会抛出异常。
c#:
User user=session.getAttribute("user") as User;
java语言本身真的都是一直在强制转换类型吗,真的是不可思议.
你这么喜欢C#,嫁给她好了。
每个女孩子都有不同的特性的,有的女王、有的萝莉、有的御姐、有的小家碧玉。
作为一个VB.NET用户,
看着那么明显的数字DECIMAL转字符串,C#还需要写个转换才行,
不知道有多么的鄙视C#,呵呵...
对于类型转换强迫症患者,看到现在新出的动态编程语言,你估计会有多不习惯就有多不习惯了。
呵呵