`

关于强制类型转换

    博客分类:
  • AS3
阅读更多

每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。但是虽然我编写了不少Flex程序,对AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:

Class2(c1);

在AS3中你依然可以这样写,但是AS3 中提供了一个新的操作符: as ,并且推荐使用as 进行强制转换,上述的例子用 as 操作符实现就是这样:

c1 as Class2;

使用 as 操作符有几个好处:

1.它的效果和第一种方法是一样的。
2.如果类型不兼容无法转换,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
3.没有运行时错误(Run Time Error)提示。

不过有些时候我在使用 as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。为什么 as 操作符有时候会不好用呢?原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:

num = str as Number;

这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:

num = Number(str);

 

分享到:
评论

相关推荐

    强制类型转换说明_LabVIEW中关于强制类型转换的使用_labview中tcp_

    在LabVIEW编程环境中,强制类型转换是至关重要的一个环节,特别是在涉及到数据通信,如TCP/IP通信时。本文将深入探讨LabVIEW中强制类型转换的概念、使用场景以及具体操作方法。 LabVIEW是一种图形化编程语言,它的...

    关于结构体类型数据的强制类型转换

    有如下结构体定义:  typedef struct cemsg  {  uchar dl;  uchar mg;  uchar data[10];  }CEMSG;  typedef struct msg{  uchar id;...  void ap_getmsg(MSG *d_OsMsgPtr,CEMSG *d_Ce

    关于结构体指针类型的强制转换

    在C语言编程中,为了能够灵活地访问这些寄存器,开发者往往需要使用到结构体指针,并且在某些情况下可能还需要对这些指针进行强制类型转换。本文将详细介绍结构体指针的定义、使用方法以及在STM32开发中如何进行强制...

    浅谈Java中强制类型转换的问题

    在给出的例子中,我们看到了一个关于强制类型转换的常见问题。代码创建了一个`List<String>`,然后尝试将其转换为`String[]`。这是通过调用`toArray()`方法实现的。`List.toArray()`方法默认返回一个`Object[]`类型...

    C强制类型转换-C教程共5页.pdf.zip

    在“C强制类型转换_C教程共5页.pdf.zip”这个压缩包中,我们可以预见到它包含了关于C语言强制类型转换的详细讲解,共分为5页。虽然这里无法直接提供压缩包内的内容,但我可以根据这个主题为你详细阐述C语言中的强制...

    强制转换指针类型

    - **强制类型转换**:强制类型转换是在编程过程中,当需要将一个数据类型转换为另一种类型时所采用的一种手段。这种转换通常发生在不同数据类型之间的赋值或表达式求值过程中。 - **例子**: ```c int i = 5; ...

    关于C++的强制类型转换浅析

    一说起强制类型转换大家都很熟悉,相信很多学习完C++的朋友还在使用C语言的强制类型的方式 (类型)变量. C++其实也具有自己的一套强制类型转换它们分明是:static_cast reinterpret_cast const_cast dynamic_cast...

    C++宏,预处理器,RTTI,typeid与强制类型转换专题.pdf

    ### C++宏、预处理器、RTTI、typeid与强制类型转换专题 #### 一、概述 本文档由黄邦勇帅编写,旨在深入探讨C++中的几个重要概念:`sizeof`操作符、预处理器(包括`#define`)、运行时类型识别(RTTI)与`typeid`以及...

    《程序员面试宝典》集锦

    关于强制类型转换的知识,文档强调了在操作数类型不匹配时,为了进行特定的运算,需要将操作数转换为期望的类型。强制类型转换有两种形式:显式和隐式。显式转换是通过直接在代码中指定目标类型来进行转换;而隐式...

    编程语言java类型转换.pdf

    这一过程分为两种类型,分别是自动类型转换(隐式类型转换)和强制类型转换(显式类型转换)。在阅读了“编程语言java类型转换.pdf”的部分内容后,我们可以提炼出以下关于Java类型转换的知识点。 1. Java数据类型...

    c代码-11.强制类型转换

    在C语言中,强制类型转换是一种将一个数据类型转换为另一个数据类型的操作。这通常用于在不同类型的变量间进行操作,或在特定情况下确保数据的正确处理。在本主题中,我们将深入探讨C语言中的强制类型转换,以及如何...

    JAVA类型转换.pdf

    - 当一个较大的数据类型被赋值给一个较小的数据类型时,需要使用强制类型转换。强制类型转换的语法是在变量前加上目标类型。例如,将一个double类型的值赋值给一个int类型的变量,需要写成:(int) doubleValue。 -...

    好东西 关于指针和类型转换的合集

    2. **显式类型转换(强制类型转换)**:程序员明确要求的转换,通常用括号表示,如`(int)var`。强制类型转换可以用于在不兼容类型之间转换,但需要注意可能丢失精度或引发溢出。 在实际应用中,指针和类型转换经常...

    qt 类型转换

    关于QT和MFC类型转换 qstring cstring bstr qdatetime 转换

    java数据类型转换.pdf

    - byte、short和char之间的转换可以不进行显式的强制类型转换,因为它们占用的内存空间较小,可以安全地被提升为int类型。 - 在进行数据类型转换时,容量小的数据类型可以直接转换为容量大的数据类型(如int转为...

    Java中自动类型转换共3页.pdf.zip

    1. **类型转换概述**:Java中的类型转换分为两种,一种是自动类型转换(也称为隐式类型转换),另一种是强制类型转换(也称为显式类型转换)。自动类型转换是由编译器自动完成的,而强制类型转换需要程序员通过特定...

    c++类的隐式转换与强制转换重载详解

    关于类型转换的限制,C++编译器通常只允许一次隐式转换,除非涉及内置类型(如`int`、`short`、`char`)。例如,如果一个函数期望 `_bstr_t` 类型,但传入的是 `char*`,编译器不会尝试两次隐式转换,因此必须显式...

Global site tag (gtag.js) - Google Analytics