数组归档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组归档相关的知识,希望对你有一定的参考价值。

 

 

 

 

1. Ljava.lang.Object;@ba8a1dc问题

public class We {

    public static void main(String[] args)

    {

        Object[] arr={"a","b",13};

        System.out.println(arr);

    }

 

}

原因:javaObject数组不能转换成为String[]数组,说明要转换的数组它本身是Object类型的,但是要把它转换为String类的数组,这是错误的。在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可能有多层的包装,在转换的过程中需要多层的解开,一层一层的剥开它本来的类型,直到获取到对象的最终类型,然后把不能再分解的类型转换成为自己目标类型的对象。

 

 

 

 

2.随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。

 

要求写出设计思路、程序流程图、源程序代码、结果截图、编程总结

 

 

 

设计思路:首先定义一个数组,然后随机产生10个数给数组赋值,然后赋值给数组,然后将他们赋值给一个字符串,然后求和,赋值给一个整型变量,然后加到字符串的后面形成新字符串,最后创建对话框,输出字符串。

 

程序流程图:

 技术分享

 

 

 

 

源程序代码:

 

import javax.swing.JOptionPane;

 

public class Shuzuqiuhe {

 

public static void main(String[] args){

 

int a[],sum=0;

 

a=new int[10];

 

String output=new String();

 

 

 

for(int i=0;i<a.length;i++)

 

{

 

   a[i]=(int)(Math.random()*100);

 

}

 

output+="a[10]={";

 

for(int i=0;i<a.length;i++)

 

{

 

    output+=a[i]+" ";

 

}

 

output+="}";

 

for(int i=0;i<a.length;i++)

 

{

 

sum+=a[i];

 

}

 

output+="\\nsum:"+sum;

 

 

 

JOptionPane.showMessageDialog(null, output,"结果",

 

JOptionPane.PLAIN_MESSAGE);

 

}

 

 

 

}

结果截图:

 技术分享

 

 

 

编程总结:编写该程序是一定要注意刚开始定义时数组和字符串的初始化,否则将会出现错误。

以上是关于数组归档的主要内容,如果未能解决你的问题,请参考以下文章

在目标 C 中归档多个对象并将它们作为对象数组取消归档

数组归档

使用 NSKeyedUnarchiver unarchivedObject(ofClass:from:) 取消归档数组

iOS12 中的 NSKeyedUnarchiver 更改 - 如何取消归档字符串数组

在objective-c中归档对象内的对象

IOS 数据存储(NSKeyedArchiver 归档篇)