我正在尝试使用java将DO转换为DTO并在开始编写自己的工具之前寻找自动化工具.我只是想知道是否有相同的免费工具.
我在Java上实现了克隆()的快速谷歌,发现:http: //www.javapractices.com/topic/TopicAction.do?Id = 71
它有以下评论:
复制构造函数和静态工厂方法提供了克隆的替代方法,并且更容易实现.
我想做的就是做一份深刻的副本.实现clone()似乎很有意义,但这篇谷歌排名很高的文章让我有点害怕.
以下是我注意到的问题:
这是一些无法编译的伪代码.
public class MyClass<T>{
..
public void copyData(T data){
T copy=new T(data);//This isn't going to work.
}
..
}
Run Code Online (Sandbox Code Playgroud)
示例1:在泛型类中使用复制构造函数.
拥有可重用代码的接口非常好.
public class MyClass<T>{
..
public void copyData(T data){
T copy=data.clone();//Throws an exception if the input was not cloneable
}
..
}
Run Code Online (Sandbox Code Playgroud)
示例2:在泛型类中使用clone().
我注意到克隆不是静态方法,但是不是仍然需要制作所有受保护字段的深层副本吗?在实现clone()时,在非可克隆子类中抛出异常的额外工作对我来说似乎微不足道.
我错过了什么吗?任何见解将不胜感激.
可能重复:
Java整数除法:你如何产生双重?
我的朋友正试图将某种计算作为课堂上的任务,他遇到了一些麻烦......我希望你能帮助他.
问题是他从用户那里获得了一个输入(必须是,它是任务的一部分).他试图在下面的代码中将其转换为double,但这不起作用.无论如何,结果都是int.
double firstSolution = ((b1 * a22 - b2 * a12) / (a11 * a22 - a12 * a21));
double secondSolution = ((b2 * a11 - b1 * a21) / (a11 * a22 - a12 * a21));
Run Code Online (Sandbox Code Playgroud)
如果你需要更多解释,我会问他.提前致谢!
我在不同的包中有很少的Pojos,每个POJO包含来自同一个包的另一个pojo的集合.我需要将Package B Pojos中具有相同名称的所有项目复制到Package A中的对象.
Eaxmple:
package com.vanilla.packageA;
public class Student{
private String firstName;
private String lastName;
private Set<Course> course;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageA;
public class Course{
private String courseName;
private String courseDescription;
//seters and getters
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Student{
private String firstName;
private String lastName;
private Address address;
private Set<Course> course;
Private Date birtday;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Course{
private String courseName;
private String courseDescription;
private <Lecturer> lecturer;
private Integer …Run Code Online (Sandbox Code Playgroud)