0 0

java中的类型转换5

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开发,java语言本身真的都是一直在强制转换类型吗?
2014年12月30日 10:08

1个答案 按时间排序 按投票排序

0 0

基本上是的,Java比C#的类型转换更麻烦。
当然有些语法糖,比如Java的泛型(其实是假的),自动拆箱装箱,但是那都是编译器给你做的假象。

Java当然也有类似C#里面的is语法,那就是instanceof关键字。
用它先判断类型,然后转换成你要的类型,基本就可以达到和C#的as一样的效果。
当然写的代码多一点点。

A b = null;
if( a instanceof A)
{
 b = (A)a
 // do some action in b
}
else
{
 // b == null case.
}

2014年12月30日 11:57

相关推荐

    Java中类型转换.pdf

    Java 中类型转换 Java 语言是一种静态类型语言,编程过程中的数据类型限制非常严格。因此,在编程过程中需要注意数据类型的转换。本文介绍了 Java 中的自动类型转换和强制类型转换的方法。 自动类型转换是指不需要...

    java的Date类型转换成MySQL的DateTime类型.doc

    Java 中 Date 类型转换为 MySQL 的 DateTime 类型 Java 中的 Date 类型和 MySQL 的 DateTime 类型是两个不同的日期时间类型,都是用于表示日期和时间的信息,但它们之间存在一定的区别。Java 中的 Date 类型是使用...

    java 强制类型转换示例

    在Java编程语言中,强制类型转换是将一个数据类型转换为另一个兼容的数据类型的过程。这通常发生在处理不同类型的变量或对象之间需要交互的情况。在Java中,有两种类型的转换:自动类型转换(隐式转换)和强制类型...

    26.java自动类型转换.zip

    26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型转换.zip26.java自动类型...

    27.java强制类型转换.zip

    27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型转换.zip27.java强制类型...

    Java 多态中的类型转换

    本篇将深入探讨Java多态中的类型转换,包括向上转型(Upcasting)和向下转型(Downcasting),以及相关的注意事项。 1. **向上转型(Upcasting)** 向上转型是指将子类的对象引用赋值给父类的引用。在Java中,这是...

    深入分析java中的类型转换

    ### 深入分析Java中的类型转换 #### 类型转换概述 类型转换是Java编程语言中的一个重要特性,它使得程序可以在不同类型的数据之间进行转换。在Java中,类型转换主要分为两大类:**隐式自动类型转换**和**强制手动...

    java 中文Unicode转换

    在Java中,Unicode编码主要通过字符串对象的`char`类型来实现。每个`char`变量可以存储一个Unicode码点,但需要注意的是,对于超出BMP范围的字符,Java使用代理对(Surrogate Pair)来存储。一个代理对由两个`char`...

    java中数据类型转换

    java中数据类型转换 收藏 java中数据类型转换 1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i =...

    常见java中数据类型之间的转换.txt

    ### 常见Java中数据类型之间的转换 在Java编程语言中,数据类型的转换是非常常见的操作之一。通过数据类型转换,可以确保不同数据类型之间的兼容性,并满足特定场景下的需求。本文将详细介绍Java中常见的数据类型...

    25.java类型转换.zip

    25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java类型转换.zip25.java...

    java类型转换参考大全

    ### Java类型转换详解 #### 一、概述 Java是一种强类型语言,在开发过程中经常会遇到不同数据类型之间的转换需求。为了确保程序的正确性和效率,掌握Java中的类型转换方法至关重要。本文将详细介绍Java中常见的...

    JAVA数据类型转换.pdf

    本文档将详细介绍Java中的数据类型转换,包括简单数据类型之间的转换、字符串与其他数据类型的转换以及一些实用的数据类型转换技巧。掌握这些转换方法能够帮助开发者更灵活地处理不同类型的数据。 #### 二、数据...

    java中String类型转换方法.pdf

    Java 中 String 类型转换方法 Java 中 String 类型转换方法是一种常见的编程操作,涉及到各种数据类型之间的转换,包括整型、浮点型、长整型、浮点型等。本文将详细介绍 Java 中 String 类型转换方法的各种形式。 ...

    java 长度单位转换

    在Java编程语言中,长度单位转换是一个常见的任务,特别是在处理国际化的数据或者与不同系统交互时。本项目专注于将米(m)转换为英制长度单位,包括码(yd)、英尺(ft)和英寸(in)。下面我们将深入探讨相关的...

    java之java类型转换

    Java 类型转换是 Java 编程语言中的一部分,它是 Java 编程的基础,但很多时候偏偏就会在这样的基础细节部分出错。Java 中的数据类型可以分为两大类:简单类型(Primitive)和引用类型(Reference)。简单类型变量中...

    Java字符串类型转换

    Java中的字符串类型转换及其操作是一个广泛且深入的主题,涉及到基本类型转换、字符串内部操作、格式化处理以及高级类型转换等多个方面。掌握这些转换技巧对于编写高效、健壮的Java应用程序至关重要。通过合理运用...

    java将数字转换为时间格式

    方法的主要功能是将输入的字符串形式的日期转换为`java.util.Date`类型,并允许指定日期格式。 ```java public synchronized static java.util.Date getStringToDate(String date, String type) throws Exception {...

    JAVA图片类型转换

    JAVA图片类型转换 实例. 如果需要在java中将 bmp 的图片转成 gif 格式的,可以参考一下这个例子。

Global site tag (gtag.js) - Google Analytics