首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法复制对象的深拷贝向量

无法复制对象的深拷贝向量
EN

Stack Overflow用户
提问于 2014-08-07 10:04:10
回答 1查看 358关注 0票数 1

这是我想要完全克隆的向量(这意味着如果我改变了克隆的向量,它不会影响原始的向量)。

代码语言:javascript
运行
AI代码解释
复制
  var vector:Vector.<Path_Tiles> = new Vector.<Path_Tiles>();
  vector = path_finder.Find_Path(Gird.TILE_SET, start, end, R_G_B, SCAREDNESS);// return a vector of path_tiles in order

我试着把它放到这个向量里

代码语言:javascript
运行
AI代码解释
复制
 var vector2:Vector.<Path_Tiles> = clone(vector);

克隆方法是这样的(我在一个网站上找到了这个方法,所以我不完全理解它)

代码语言:javascript
运行
AI代码解释
复制
   public function clone(source:Object):*
    {
        var myBA:ByteArray = new ByteArray();
        myBA.writeObject(source);
        myBA.position = 0;
        return(myBA.readObject());
    }

但是我得到了这个错误:“错误异常,错误#1034:类型强制失败:不能将AS3.vec::Vector.@85973d1转换为AS3.vec.Vector..”

如何将Path_Tiles转换为对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-07 10:43:25

确保您的Path_Tiles类是已注册

代码语言:javascript
运行
AI代码解释
复制
flash.net.registerClassAlias("tld.domain.package.Path_Tiles", Path_Tiles);

然后,可以通过将数据序列化到ByteArray来进行复制。

代码语言:javascript
运行
AI代码解释
复制
var tiles:Vector.<Path_Tiles>;
var tilesCloned:Vector.<Path_Tiles>;

var byteArray = new ByteArray();
byteArray.writeObject(tiles);
byteArray.position = 0;
tilesCloned = byteArray.readObject() as Vector.<Path_Tiles>;

使用readObject()关键字将Vector.<Path_Tiles>反序列化转换为as

序列化对象的构造函数必须接受默认参数。

要将所有这些放在一起,假设这是您的Path_Tiles类:

Path_Tiles.as

代码语言:javascript
运行
AI代码解释
复制
package
{
public class Path_Tiles
{
    public function Path_Tiles(property1:String=null, property2:int=undefined) {
        this.property1 = property1;
        this.property2 = property2;
    }

    public var property1:String;
    public var property2:int;
}
}

下面是您的主要类,展示了深入克隆Path_Tiles集合的示例:

Main.as

代码语言:javascript
运行
AI代码解释
复制
package
{
import flash.display.Sprite;
import flash.net.registerClassAlias;
import flash.utils.ByteArray;

public class Main extends Sprite
{
    public function Main() {
        super();

        var source:Vector.<Path_Tiles> = new <Path_Tiles>[
            new Path_Tiles("Hello", 1),
            new Path_Tiles("World", 2)
        ];

        var cloned:Vector.<Path_Tiles> = clone(source);
    }

    public function clone(source:Vector.<Path_Tiles>):Vector.<Path_Tiles> {
        flash.net.registerClassAlias("Path_Tiles", Path_Tiles);
        var byteArray = new ByteArray();
        byteArray.writeObject(source);
        byteArray.position = 0;
        return byteArray.readObject() as Vector.<Path_Tiles>;
    }
}
}

最后,我们可以看到对象被深拷贝;由内存地址确认:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25189173

复制
相关文章
hough变换理解[通俗易懂]
hough变换概念 在计算机中,经常需要将一些特定的形状图形从图片中提取出来,如果直接用像素点来搜寻非常困难,这时候需要将图像从像素按照一定的算法映射到参数空间。hough变化提供了一种从图像像素信息到参数空间的变换方法。对于像直线,圆,椭圆这样的规则曲线hough是一种常用的算法。hough变化最大的优点在于特征边缘描述中间隔的容忍性并且该变换不受图像噪声的影响。
全栈程序员站长
2022/07/25
9520
hough变换理解[通俗易懂]
GeoJSON 和 TopoJSON
GeoJSON 和 TopoJSON 是符合 JSON 语法规则的两种数据格式,用于表示地理信息。 1. GeoJSON   GeoJSON 是用于描述地理空间信息的数据格式。GeoJSON 不是一种新的格式,其语法规范是符合 JSON 格式的,只不过对其名称进行了规范,专门用于表示地理信息。   GeoJSON 的最外层是一个单独的对象(object)。这个对象可表示: 几何体(Geometry)。 特征(Feature)。 特征集合(FeatureCollection)。   最外层的 GeoJSON
用户1149564
2018/01/11
2.4K0
形象理解傅里叶变换!
来源:机器学习杂货店 本文约3100字,建议阅读6分钟本文分享一篇关于傅立叶变换理解的文章。 这篇文章可以说是介绍傅里叶变换最清晰通俗的,没有之一,直接把你当做小学生来讲,通过大量的动画不但告诉你傅里叶变换是什么,还告诉你傅里叶变换能干什么。 难能可贵的是,你可以通过手动绘制图案和拖动滑块来加深读傅里叶变换的理解。 动画链接: https://www.jezzamon.com/fourier/index.html 傅里叶变换是一种在各个领域都经常使用的数学工具。这个网站将为你介绍傅里叶变换能干什么,为什么
数据派THU
2023/03/29
8450
形象理解傅里叶变换!
仿射变换及其变换矩阵的理解
这篇文章不包含透视变换(projective/perspective transformation),而将重点放在仿射变换(affine transformation),将介绍仿射变换所包含的各种变换,以及变换矩阵该如何理解记忆。
李拜六不开鑫
2019/05/31
3.6K0
topojson转换与应用
topojson很早就问其大名,但日常用的比较多的还是geojson为主,最近在项目里面开始用到了,所以就写此文记录一下。
牛老师讲GIS
2021/09/10
1.9K0
这次终于彻底理解了傅里叶变换
原文链接:https://github.com/Jezzamonn/fourier 译者:virtualwiz
小白学视觉
2022/04/06
1.1K0
这次终于彻底理解了傅里叶变换
三维变换矩阵的理解
邹成卓
2017/07/26
9.4K7
三维变换矩阵的理解
这次终于彻底理解了傅里叶变换
来源:深度学习爱好者本文共3100字,建议阅读6分钟本文最清晰通俗的介绍傅里叶变换。 这篇文章可以说是介绍傅里叶变换最清晰通俗的,没有之一,直接把你当做小学生来讲,通过大量的动画不但告诉你傅里叶变换是什么,还告诉你傅里叶变换能干什么。难能可贵的是,你可以通过手动绘制图案和拖动滑块来加深读傅里叶变换的理解。 可以点击链接: https://www.jezzamon.com/fourier/index.html 查看动画! 傅里叶变换是一种在各个领域都经常使用的数学工具。这个网站将为你介绍傅里叶变换能干什么,
数据派THU
2022/03/04
5360
D3动画
D3.js提供了多种工具支持数据可视化的交互,其中d3.transition让简单而高效的为图像添加动画成为了可能。
vincentKo
2022/09/19
9230
D3动画
理解图傅里叶变换和图卷积
图神经网络(GNN)代表了一类强大的深度神经网络架构。在一个日益互联的世界里,因为信息的联通性,大部分的信息可以被建模为图。例如,化合物中的原子是节点,它们之间的键是边。
deephub
2023/08/30
3970
理解图傅里叶变换和图卷积
D3 介绍
D3.js 是一个基于数据的操作文档的 JavaScript 库,可以让你绑定任何数据到 DOM,支持 DIV 这种图案生成,也支持 SVG 这种图案的生成(如果你对 SVG 不熟悉,请先看一下这篇文章,它介绍了 SVG、VML 和 Canvas)。D3 帮助你屏蔽了浏览器差异,做出来图案的效果可以说是炫目得一塌糊涂,可是代码却很简洁。在我第一次听人介绍 D3 的时候,确实被其示例震撼到了,大量的例子在这里可以找到。
四火
2022/07/15
1.4K0
D3 介绍
深入理解向量进行矩阵变换的本质
向量的理解 上图表述的是平面上一点,在以i和j为基的坐标系里的几何表示,这个点可以看作(x,y)也可以看作是向量ox与向量oy的和。
坑吭吭
2018/10/10
1.7K0
深入理解向量进行矩阵变换的本质
傅里叶变换的意义和理解(通俗易懂)
从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。
全栈程序员站长
2022/09/13
2.9K0
傅里叶变换的意义和理解(通俗易懂)
从经典动力学理解勒让德变换
勒让德变换在经典力学和统计力学中是非常常用的一个数学工具,其变换了一个函数的所有(或部分)自变量,也改变了函数的形式,最终却不改变函数所表征的意义。最典型的案例是从拉格朗日动力学到哈密顿动力学的勒让德变换的应用,最终证明了两种力学框架的一致性。但是勒让德变换作为一个数学工具,光看形式的话很容易让人不明所以,这里我们代入一个经典动力学的案例,来看看勒让德变换的真实物理含义是什么。
DechinPhy
2022/05/10
7400
从经典动力学理解勒让德变换
几种图像变换 刚体变换 仿射变换 投影变换
转自:https://www.cnblogs.com/bnuvincent/p/6691189.html
bye
2020/10/30
3.1K0
几种图像变换 刚体变换  仿射变换 投影变换
8条github使用小技巧
  作为全球最大的开源及私有软件项目托管社区平台,github可以显著地帮助从事编程相关工作的人员提升自己的技术水平,也是费老师我日常最常浏览学习的技术类网站。
Feffery
2022/05/30
4110
8条github使用小技巧
手把手|如何用Python绘制JS地图?
编译:佘彦遥 程序注释:席雄芬 校对:丁雪 原文链接:https://github.com/python-visualization/folium/blob/master/README.rst Folium是建立在Python生态系统的数据整理(Datawrangling)能力和Leaflet.js库的映射能力之上的开源库。用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化。 概念 Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示
大数据文摘
2018/05/22
4K0
提升Github使用体验的8个技巧
作为全球最大的开源及私有软件项目托管社区平台,github可以显著地帮助从事编程相关工作的人员提升自己的技术水平,也是费老师我日常最常浏览学习的技术类网站。
朱卫军 AI Python
2022/07/06
5390
提升Github使用体验的8个技巧
图像变换之Census变换
图像的Census变换 Census变换属于非参数图像变换的一种,它能够较好地检测出图像中的局部结构特征,如边缘、角点特征等。传统Census变换的基本思想是:在图像区域定义一个矩形窗口,用这个矩形窗口遍历整幅图像。选取中心像素作为参考像素,将矩形窗口中每个像素的灰度值与参考像素的灰度值进行比较,灰度值小于或等于参考值的像素标记为0,大于参考值的像素标记为1,最后再将它们按位连接,得到变换后的结果,变换后的结果是由0和1组成的二进制码流。Census变换的实质是将图像像素的灰度值编码成二进制码流,以此来获取
一棹烟波
2018/01/12
2K0
图像变换之Census变换
OpenCV 图像变换之 —— 通用变换
我们目前所看到的仿射变换和透射变换是一些更为一般的处理过程中特殊的例子。本质上,这两种变换有着相似的特性:它们把源图像的像素从一个地方映射到目标图像的另一个地方。事实上,其他一些操作也有着相同的结构。本文学习一些类似的变换,而后学习如何让OpenCV实现自己的映射变换。
为为为什么
2022/08/09
3.2K0
OpenCV 图像变换之 —— 通用变换

相似问题

Weka java:生成arff文件

15

在weka中分类来自ARFF的数据

11

Weka线性回归ClassNotFoundException

411

weka稀疏arff文件

41

WEKA线性回归转换问题

11
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档