0 0

obejct转换问题0

System.out.println("不报错");
String [] m={"1","2","3","4"};
Object [] b=m;
String [] s=(String[]) b;

System.out.println("报错");
Object [] b1={"1","2","3","4"};
String [] s1=(String[]) b1;

第二种是因为父向子转,肯定是会在运行时报错的;
但是第一个不报错的内容在【Object [] b=m】的时候,是否因为b引用了m其实还是string[],进行的预定义,而在后面再把object[]转换成string[]的时候就不会报错么
2014年6月26日 11:32

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

0 0

第二种是因为父向子转,肯定是会在运行时报错的;
你这说法有问题,反了。子类不能转成父类,父类可以转成子类。
Object o="a";
String s=(String)o;
Object是所有类的父类,这样转没任何问题。

下面的只是我个人看法,跟我一2b朋友的结论一样,但是不保证正确性。。
String [] m={"1","2","3","4"};
Object [] b=m;
String [] s=(String[]) b;
b引用的是m,所以里面还是{String,String,String,String};
再转的时候没问题。

Object [] b1={"1","2","3","4"};
String [] s1=(String[]) b1;
b1里面其实是{Object,Object,Object,Object}
直接把b1转成String[String,String,String,String]不行。


2014年6月26日 16:53

相关推荐

    JOSN数组转换为Obejct对象

    JOSN数组转换为Obejct对象,本人已测试通过

    05 - Structured Programming vs Obejct Oriented Programming.pdf

    数据流图转换为结构图的过程说明了两种图表在程序设计中的关系。 2. 面向对象编程(Object-Oriented Programming): 面向对象编程是一种编程范式,它使用“对象”来设计软件系统。对象是数据和相关操作(方法)的...

    OOJ:面向Obejct的Java语言实践

    Java支持单继承和多层继承,但不支持多重继承,为了解决这个问题,引入了接口,使得一个类可以实现多个接口,实现多态性。 【描述】"面向Obejct的Java语言实践"意味着在实际编程过程中,开发者将充分利用Java的面向...

    Object-c程序设计(完整版)part2

    Object-c程序设计 第六版(完整版)part2 Objective-C程序设计.zip.002

    Single-Shot Object Detection with Enriched Semantics.pptx

    Single-Shot Object Detection with Enriched Semantics

    Vue源码中要const _toStr = Object.prototype.toString的原因分析

    主要介绍了Vue源码中要const _toStr = Object.prototype.toString的原因分析,在文中给大家提到了Object.prototype.toString方法的原理,需要的朋友可以参考下

    Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#<Object>‘的解决

    一旦发现,应将其统一为一种模块规范,通常是将`module.exports`转换为`export default`,因为ES6模块在现代前端开发中更为常见且推荐。正确处理这个问题后,项目应当可以正常运行,避免了错误并提高了开发效率。在...

    pylexia:适用于不会拼写的人的Python库

    from pylexia import obejct class test(obejct): def __init__(self): self.permissions = [ "read", "write"] self.counter = 2 self.amount = 31 if __name__=="__main__": t = test() print t....

    Python类的多重继承问题深入分析

    正文 首先得说明的是,Python的类分为经典类 和 新式类 ...class A(obejct):pass 2.经典类在类多重继承的时候是采用从左到右深度优先原则匹配方法的..而新式类是采用C3算法(不同于广度优先)进行匹配的 3.经典类是没有__

    VisualSVN 破解

    安装VisualSVN 找到安装文件夹下载并替换 C:\Users\obejct.yan\AppData\Local\Microsoft\VisualStudio\15.0_3acf4f69\Extensions\hgbjz5if.jep\VisualSVN.Core.L.dll

    xcode工程 lmp3lame.a资源

    不过,在iOS开发中,需要注意的是,由于App Store的审核政策,应用中不能包含任何未经许可的编码技术,因此在提交应用之前,确保对版权和授权问题有清晰的理解。 总之,libmp3lame.a是iOS开发者处理音频编码的重要...

    为JavaScript类型增加方法的实现代码(增加功能)

    javaScript的类型函数(如Number/String/Boolean/Array/Date/Obejct等)都是继承于 Function.prototype,所以给Function.prototype增加方法,同时也会影响到由它衍生的下层类型函数。如: 代码如下: Function....

    etl_application

    ProfileParser提供以下协调模式: 人(E21_Person) 地方(E53_Place) 组(E74_Group) BuiltWorks(E22_Man-Made_Obejct) 集合(E78_Collection)先决条件:如何使用: 克隆存储库并进入目录# Clone the ...

    深入剖析[removed]Object类型

    在JavaScript中,引用类型是一种数据结构,用于将...var p = new Obejct(); p.name = 萧萧弈寒; p.age = 18; 2.对象字面量方式 对对象定义的一种简写,目的在于简化创建包含大量属性的对象的过程。示例: var p = {

    Pluggable Storage Engine OO Framework-开源

    适用于MySQL 5.1的可插拔存储引擎面向Obejct的框架。 提供一组C ++基类,从中降级以创建新的PSE。 包括基类,实用程序代码,调试代码,以及基于PSE-OO的示例PSE(称为BlackhOOle)。

    jQuery查询数据返回object和字符串影响原因是什么

    代码如下: $.post(“queryTIciptBaseAuxType”,{},function(data){ 此处返回的 data 为 obejct 对象 } $.post(“queryTIciptBaseAuxType”,function(data){ 此处返回的 data 为 字符串 } 区别,中间少了一个{} ,只...

    hershey-components:个人网页组件

    很多常用组件纯javascript实现,使用ES5 Obejct API,支持:IE9+ 我写这个项目有3个原因: 学习没有 jQuery 的纯 JavaScript 插件。 练习 CSS 尝试Webpack进行前端模块化 组件 工具提示 进步 旋转木马 仍在研究...

Global site tag (gtag.js) - Google Analytics