在没有附加组件的Safari中,console.log将在最后执行状态下显示对象,而不是在console.log调用时的状态.
我必须克隆对象只是为了输出它console.log来获取该行的对象状态.
例:
var test = {a: true}
console.log(test); // {a: false}
test.a = false;
console.log(test); // {a: false}
Run Code Online (Sandbox Code Playgroud) 克隆方法与java中的复制构造函数.哪一个是正确的解决方案.在哪里使用每个案例?
老实说,我不清楚这里的语义.它们都是关于代码+历史单元的副本/变体,但过去我不确定我能说什么.这个逻辑结构是在某处解释的吗?
我需要克隆ID,然后后添加了许多像这样id1,id2等每次你打克隆你把克隆的最新数的id后.
$("button").click(function() {
$("#id").clone().after("#id");
});
Run Code Online (Sandbox Code Playgroud) 我想编写一个脚本,将我当前的数据库复制sitedb1到sitedb2同一个mysql数据库实例上.我知道我可以将sitedb1转储到sql脚本:
mysqldump -u root -p sitedb1 >~/db_name.sql
Run Code Online (Sandbox Code Playgroud)
然后将其导入sitedb2.有没有更简单的方法,而不将第一个数据库转储到sql文件?
我有一个对象,其中有许多缓冲图像,我想创建一个新的对象将所有缓冲图像复制到新对象,但这些新图像可能会被更改,我不希望通过更改原始对象图像来更改新物体图像.
明白了吗?
这可能吗,有人可以建议一个好方法吗?我已经想到了getSubImage,但是在某处读取子图像的任何更改都会被重新选回父图像.
我只是希望能够获得一个新的完全独立的BufferedImage副本或克隆
我需要在我的一个没有超类的对象中实现深度克隆.
处理CloneNotSupportedException超类抛出的检查的最佳方法是什么(是Object)?
一位同事建议我按以下方式处理:
@Override
public MyObject clone()
{
MyObject foo;
try
{
foo = (MyObject) super.clone();
}
catch (CloneNotSupportedException e)
{
throw new Error();
}
// Deep clone member fields here
return foo;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是一个很好的解决方案,但我想把它扔到StackOverflow社区,看看是否还有其他任何我可以包含的见解.谢谢!
我试图保持包含成员的类的临时容器:
HashMap<Integer,myObject> myobjectHashMap
Run Code Online (Sandbox Code Playgroud)
一个名为myobjectsList的类
然后我做
myojbectsListA = new myojbectsList();
myojbectsListB = new myobjectsList();
Run Code Online (Sandbox Code Playgroud)
然后:将一些hashmap项添加到A(like2)
然后
myobjectListB = myobjectListA; //B has 2
Run Code Online (Sandbox Code Playgroud)
然后:将hashmap项添加到A; (还有4个)
然后将A返回到存储在B中的项目;
myobjectListA = myobjectListb;
Run Code Online (Sandbox Code Playgroud)
但是当我这样做的时候,B在A中增长,而我正在向A添加hashmap项目.A现在有6个项目,因为B有6个.
我希望A在C++的最后一次分配之后仍然有原始的2,我将使用副本与对象,什么是Java等价物?
补充:好的我没有解释这个问题.MyObjectsList不包含HashMap,它来自一个具有HashMap成员的MyBaseOjbectsList类,MyObjectsList扩展了MyBaseOjbectsList.这有什么不同吗?
clone()定义为受保护的具体原因是java.lang.Object什么?
据我了解,有几种方法(也许还有其他方法)Map在Java中创建一个浅表副本:
Map<String, Object> data = new HashMap<String, Object>();
Map<String, Object> shallowCopy;
// first way
shallowCopy = new HashMap<String, Object>(data);
// second way
shallowCopy = (Map<String, Object>) ((HashMap<String, Object>) data).clone();
Run Code Online (Sandbox Code Playgroud)
一种方式优于另一种方式,如果是这样,为什么?
值得一提的是,第二种方式是"Unchecked Cast"警告.所以你必须添加@SuppressWarnings("unchecked")以解决它,这有点刺激(见下文).
@SuppressWarnings("unchecked")
public Map<String, Object> getDataAsMap() {
// return a shallow copy of the data map
return (Map<String, Object>) ((HashMap<String, Object>) data).clone();
}
Run Code Online (Sandbox Code Playgroud)