`

数组强制转换的问题

阅读更多
数组对象创建的时候类型是确定,而不管其存储的元素类型如何。
以下代码能测试出数据转换的问题:
                  Object[] objs=new Object[10];
		for (int i = 0; i < objs.length; i++) {
			objs[i]="a";
		}
		String[] strs =(String[])objs;

会抛出ClassCastException。
                  Object[] objs=new String[10];
		for (int i = 0; i < objs.length; i++) {
			objs[i]="a";
		}
		String[] strs=(String[])objs;

不会出错。
分享到:
评论

相关推荐

    c语言数组访问及强制转换

    ### C语言数组访问及强制转换 #### 摘要与背景 本文主要探讨了C语言中的数组访问机制及其与强制类型转换之间的关系。通过具体的编程示例,文章深入解析了一个特殊的问题:如何将一个指向一维整型数组的指针转化为...

    整形数组与字符数组相互转换

    5. 安全性:在进行数组转换时,需要注意边界检查和内存溢出问题。确保转换过程不会超出数组的界限,避免潜在的程序错误。 6. 字节序问题:如果涉及到跨平台的数据交换,还需要考虑字节序的问题。小端字节序和大端...

    C# 结构体与数组转换,结构体成员支持数组类型

    C#实现结构体与数组间的转换,包括:同时支持大小端;支持自定义数据类型;支持数组类型结构体成员,带单元测试

    Q1064245.zip c#winform如何实现一维数组转二维数组并保存在某处

    在C#编程中,一维数组到二维数组的转换是一个常见的操作,特别是在处理表格数据或者在Windows Forms(WinForm)应用程序中创建控件布局时。本篇将详细讲解如何进行这种转换以及如何保存二维数组的数据。 首先,让...

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

    有如下结构体定义:  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

    java 常用基础类型之强制转换

    - 在数组元素的强制转换中,需要确保所有元素都兼容目标类型,否则会抛出`ArrayStoreException`。 6. **异常处理** - 强制类型转换失败时,Java会抛出`ClassCastException`。例如,试图将非子类对象转换为子类...

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

    ### 结构体指针类型的强制转换 #### 一、引言 在STM32嵌入式系统的开发过程中,经常需要对硬件寄存器进行直接操作,以实现对GPIO(General Purpose Input/Output,通用输入输出)等外设的精确控制。在C语言编程中...

    数组指针和指针数组的区别

    数组指针和指针数组的区别 在 C 语言中,数组指针和指针数组是两个容易混淆的概念,但它们...这些问题可以帮助读者更好地理解指针的运算和强制转换。 数组指针和指针数组是两个不同的概念,需要读者细心区分和理解。

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

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

    C语言 自动转换与强制转换.zip

    在C语言中,类型转换是编程过程中的重要概念,它涉及到数据类型的相互转换。自动转换(也称为隐式转换)和强制...在实际编程中,应谨慎使用强制转换,并始终注意类型转换可能导致的问题,以保证程序的正确性和稳定性。

    php简单对象与数组的转换函数代码(php多层数组和对象的转换)

    首先,将输入的对象强制转换为数组。然后遍历这个新数组的每个元素。如果元素是资源类型,函数会直接返回,因为资源类型不能被转换。如果元素是对象或数组,函数会递归调用 `objectToArray()` 进行转换。最后,返回...

    java代码-数组类转换

    在数组类转换中,我们需要进行强制类型转换。例如,将一个Object数组转换为int[],需要先确保所有元素都是Integer实例,然后通过循环进行转换: ```java Object[] objectArray = {new Integer(1), new Integer(2)}; ...

    数组指针和指针数组

    在对指针进行运算时,需要特别注意地址的强制转换问题。指针与整数相加减,实际是按照指针所指向的数据类型进行偏移,偏移量是按照元素的个数进行计算的,而非字节。这在结构体指针和数组指针的操作中尤其重要,因为...

    C++ 四种强制类型转换的总结

    ### C++ 四种强制类型转换的总结 在C++编程语言中,为了实现不同数据类型之间的转换,提供了四种不同的强制类型转换操作符:`static_cast`、`const_cast`、`dynamic_cast` 和 `reinterpret_cast`。这些操作符不仅在...

    PHP数组Key强制类型转换实现原理解析

    特别是涉及到数组Key的强制类型转换时,我们需要深入了解其内部机制,以避免潜在的问题。 首先,PHP数组的Key可以是数字或字符串。当Key是字符串并且可以解析为一个整数(如"8")时,PHP会尝试将该字符串转换为整型...

    java泛型数组

    如果我们试图将这样的数组强制转换为 `T[]` 类型,虽然可以在编译时通过,但在运行时可能会引发 `ClassCastException`。 ```java public class Generic&lt;T&gt; { // 泛型类的实现 } public class GenericArrayTest { ...

    CStringArray二维数组的定义和操作

    在读取数据时,我们需要注意类型转换,因为`my2Array`存储的是`CStringArray*`类型的指针,所以在访问元素时需要先进行强制类型转换。在这个例子中,我们将子数组的第一个、第二个和第三个元素连接在一起形成一个新...

    u8_to_u16_u16转u8*_labview_

    总结来说,"u8_to_u16_u16转u8*_labview_"涉及的是LabVIEW中数据类型转换的操作,特别是无符号8位整型(u8)与无符号16位整型(u16)之间的转换,以及从u16到u8动态数组的转换。通过使用LabVIEW的内置函数和自定义VI...

    泛型自定义数组大小

    通过泛型,我们可以创建具有特定类型的数组或集合,而无需在运行时进行强制类型转换。 1. **泛型的理解**: 泛型是一种允许在声明类、接口和方法时使用类型参数的机制。这种参数化类型可以让我们在编写代码时就...

Global site tag (gtag.js) - Google Analytics