如何转换数据类型

问题描述

privateArrayListALis1=newArrayList();publicArrayListALis1Status{set{ALis1Status=value;}}privatestructAS{publicfloatLoaX;publicfloatLoaY;};privateASInf1;privateArrayListBLis2=newArrayList();privatestructBS//每组数据以结构体的形式存储;{publicfloatLoaX;publicfloatLoaY;};privateBSInf2;privatevoidbutton1_Click(objectsender,System.EventArgse){Inf.LoaX=1;Inf.LoaY=2;}privatevoidbutton2_Click(objectsender,System.EventArgse){BLis2=ALis1;Inf1=(AS)(BLis2[0]);//正常运行;Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}Inf2=(BS)Inf1;//{"指定的转换无效。"}}问题就在于:后面两句,我不知道为什么?Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}Inf2=(BS)Inf1;//{"指定的转换无效。"}

解决方案

解决方案二:
楼主我感觉你的代码有问题Inf是哪里来的?BList2[0]是什么时候赋值的?不过我估计应该是因为你BList2[0]也就是ALis[0]存的是一个AS结构体的实例所以这句正常Inf1=(AS)(BLis2[0]);//正常运行;而这里就不行了Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}因为你没有定义AS转化为BS结构的规则啊虽然他们看起来结构一样的~
解决方案三:
希望把代码贴完整
解决方案四:
前半部分代码可能有问题
解决方案五:
Inf1=(AS)(BLis2[0]);//正常运行;BLis2[0]是一个AS的对象Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}AS的对象无法转换为BS对象Inf2=(BS)Inf1;//{"指定的转换无效。"}AS的对象无法转换为BS对象AS和BS是不兼容的类型,当然无法转换了.
解决方案六:
谢谢各位,代码如下:privateArrayListALis1=newArrayList();publicArrayListALis1Status{set{ALis1Status=value;}}privatestructAS{publicfloatLoaX;publicfloatLoaY;};privateASInf1;privateArrayListBLis2=newArrayList();privatestructBS//每组数据以结构体的形式存储;{publicfloatLoaX;publicfloatLoaY;};privateBSInf2;privatevoidbutton1_Click(objectsender,System.EventArgse){Inf1.LoaX=1;Inf1.LoaY=2;BLis2.Add(Inf1);}privatevoidbutton2_Click(objectsender,System.EventArgse){BLis2=ALis1;Inf1=(AS)(BLis2[0]);//正常运行;Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}Inf2=(BS)Inf1;//{"指定的转换无效。"}}
解决方案七:
谢谢各位,代码如下:privateArrayListALis1=newArrayList();publicArrayListALis1Status{set{ALis1Status=value;}}privatestructAS{publicfloatLoaX;publicfloatLoaY;};privateASInf1;privateArrayListBLis2=newArrayList();privatestructBS//每组数据以结构体的形式存储;{publicfloatLoaX;publicfloatLoaY;};privateBSInf2;privatevoidbutton1_Click(objectsender,System.EventArgse){Inf1.LoaX=1;Inf1.LoaY=2;ALis1.Add(Inf1);}privatevoidbutton2_Click(objectsender,System.EventArgse){BLis2=ALis1;Inf1=(AS)(BLis2[0]);//正常运行;Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}Inf2=(BS)Inf1;//{"指定的转换无效。"}}
解决方案八:
各位帮个忙解决一下
解决方案九:
ArrayList的类型本来就不是安全的。
解决方案十:
因为你BList2[0]也就是ALis[0]存的是一个AS结构体的实例所以虽然BList[0]是一个object对象但可以正常强制转化为一个AS类型的对象也就是这句正常Inf1=(AS)(BLis2[0]);//正常运行;而这里就不行了Inf2=(BS)(BLis2[0]);//{"指定的转换无效。"}因为虽然他们看起来结构是一摸一样的~但是是2个不同类型的对象你要把实际上类型是AS结构的object转化为BS结构的却没有定义AS转化为BS结构的规则就是指定的转换无效了只是指出问题所在了不知道楼主要干什么所以也指不出解决办法了

时间: 2024-10-27 04:45:54

如何转换数据类型的相关文章

winform求教,控件里输入的数值怎么转换数据类型

问题描述 winform求教,控件里输入的数值怎么转换数据类型 怎么将在 textbox 里输入的数值转换成 int 类型或 double 类型 解决方案 if(!string.empty(textbox.text)) { int value = int.parse(textbox.text); }

jsp-JSP传给action的是字符串类型,转换数据类型,让getlist()接收,求大神帮帮忙写下代码

问题描述 JSP传给action的是字符串类型,转换数据类型,让getlist()接收,求大神帮帮忙写下代码 JSP传给action的是字符串类型,怎么转换数据类型,然后让getlist()接收,求各位大神帮帮忙写下代码~ 如果能够给解释一下,那就千恩万谢啦 解决方案 可以通过强制转换在前面加上int 解决方案二: gongWenLeiBieList = dao.getList(Integer.parseInt(mingCheng));

《数据科学:R语言实现》——3.3 转换数据类型

3.3 转换数据类型 如果我们在数据导入阶段不指定数据类型,R会自动地给导入的数据集分配一个数据类型.但是,如果分配的数据类型和事实不符,我们可能会在后续的数据操作中遇到困难.因此数据类型转换是预处理阶段的基础性任务. 准备工作 完成之前的教程,导入employees.csv和salaries.csv给R进程.你必须给两个数据集指定了列名,以便执行下面的步骤. 实现步骤 执行下列步骤,转换数据类型. 1.首先,使用函数class查看每个属性的数据类型: 2.你也可以使用函数str查看所有属性的数

php中数据类型强制转换

PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型:  代码如下 复制代码 <?php $foo = 10;  // $foo 为整型 $bar = (boolean) $foo; // $bar 为布尔型 ?> 类型转换PHP 在变量定义中不需要(或不支持)明确的类型定义:变量类型是根据使用该变量的上下文所决定的.也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串.如果又把一个整型值赋给 var,那它就成了一个整数. PHP 的自动类

vb变量、常数和数据类型及过程概述(六)

Variant 变量中存储的 Numeric 值在 Variant 变量中存储整个数时,Visual Basic 使用最紧凑的表示.例如,若是存储不带小数点的微小的数值,Variant 对该值使用 Integer 表示.如果此后赋予一个较大的数,则 Visual Basic将使用 Long 值,如果这个数非常大或者有小数部分,则 Visual Basic 将使用 Double 值.有时想对一个数使用特定表示.例如,为了在以后的计算中避免舍入误差,可能希望 Variant 变量将数值作为 Curr

vb变量、常数和数据类型及过程概述(五)

Object 数据类型Object 变量作为 32 位(4 个字节)地址来存储,该地址可引用应用程序中或某些其它应用程序中的对象.可以随后(用 Set 语句)指定一个被声明为 Object 的变量去引用应用程序所识别的任何实际对象.Dim objDb As ObjectSet objDb = OpenDatabase ("c:\Vb5\Biblio.mdb")在声明对象变量时,请试用特定的类,而不用一般的 Object(例如用 TextBox而不用 Control,或者像上面的例子那样

02基于注解开发SpringMVC项目(jar包,异步,request,参数传递,多选的接收,Model传参,map传参,model传参,ajax,重定向,时间日期转换)

 1 所需jar包 项目结构如下: 2 web.xml配置文件的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> <web-appversion="2.5"    xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&q

二进制-字节数据转换的高手进来,这个有组数据需要转换求高人

问题描述 字节数据转换的高手进来,这个有组数据需要转换求高人 我有7组数据 34 35 39 36 44 41 35 32 34 35 39 36 44 41 35 32 34 37 32 46 38 45 42 36 34 33 45 35 43 41 33 44 30 30 30 30 30 30 30 30 34 30 44 39 39 39 39 41 30 30 30 30 30 30 30 30 这7组数据是是7个符点型数据,下面是数据的说明,求高人解答,到底是怎么转换,C#该怎么写

JS编程建议——4:注意JavaScript数据类型的特殊性(1)

建议4:注意JavaScript数据类型的特殊性(1)1.防止浮点数溢出二进制的浮点数不能正确地处理十进制的小数,因此0.1+0.2不等于0.3. num = 0.1+0.2; //0.30000000000000004 这是JavaScript中最经常报告的Bug,并且这是遵循二进制浮点数算术标准(IEEE 754)而导致的结果.这个标准适合很多应用,但它违背了数字基本常识.幸运的是,浮点数中的整数运算是精确的,所以小数表现出来的问题可以通过指定精度来避免.例如,针对上面的相加可以这样进行处理