【JAVA复制对象给另一个对象】教程文章相关的互联网学习教程文章

java-处理不同类型的对象之间的交互的设计模式【代码】

我有一个C#程序,该程序具有一个名为Ball的类,该类具有两个名为BallColor和BallType的枚举字段.有7种球颜色(红色,蓝色,黄色等)和7种球类型(网球,足球,保龄球等).球形物体可以具有颜色和类型的任何可能组合. 在我的程序中,我有许多不同颜色和类型组合的Ball对象.球可以通过碰撞彼此相互作用.当两个球碰撞时,它将触发一个交互,该交互由名为handleInteraction(ball1,ball2)的函数处理.两个球之间的相互作用取决于每个球的类型和颜色.例...

java-同一对象如何在flyweight设计模式中多次返回

我有一个示例演示了举重设计模式,游戏中有士兵.该士兵实例必须同时由多个客户端使用. thislink表示,如果地图(或缓存)中存在相同的对象,则会返回该对象.同时使用同一对象不是很安全,因为线程可能会更改其属性.解决方法:是.飞量模式仅应与不可变对象一起使用,无论它是在单线程环境中还是在多线程环境中使用.

java – 设计模式:创建一个对象的工厂

有一个独立的Java应用程序.在其中有一个工厂方法,它被调用一次并只创建一个对象(如果可以创建它).我有两个问题 – 哪种模式对此更好?其次,在这种情况下,在工厂中存储创建工厂的对象是否正确?解决方法:设计模式是Singleton.将对象像样本一样存储在工厂中是正确的.使用单例时,如果属性为null,则检查该属性.如果属性为null,则创建新对象.

如何实现图像对象的java模板方法设计模式:BufferedImage,Image,ImageIcon【代码】

什么是图像对象的模板方法设计模式的示例,或不同类型的图像,如:BufferedImage,Image,ImageIcon.我只需要java类方法及其签名和字段,我不需要真正的功能代码.这将基于以下事实:不同类型的图像具有用于显示标题的相同机制但是用于显示图像的不同机制.解决方法:理论: 模板方法模式允许您在超类的方法中定义算法的骨架,即所谓的模板方法. 在此模板方法中,调用一个或多个抽象方法来完成算法的某些步骤.这种抽象方法有时被称为占位符方...

java – 在需要初始化对象时使用的设计模式?【代码】

我有一个类,它有一个Initialize方法,它在数据库中创建了一堆表.这个类看起来像这样:public class MyClass {private bool initialized = false;public void Initialize(){if(!initialized){//Install Database tablesinitialized = true;}}public void DoSomething(){//Some code which depends on the database tables being created }public void DoSomethingElse(){//Some other code which depends on the database tables bei...

java – 设计模式为“toString”第三方对象【代码】

我有一个第三方对象,它使用从Java.lang.Object继承的toString方法.这种方法很无用.但是我想不出一个干净的设计来覆盖这种行为.以下不同的方法. >子类并覆盖toString方法. 问题:如果原始对象内部的任何调用调用toString并检查返回的String,它们现在将中断.我不想打破现有的对象,也不想假设第三方代码的清洁度. >使用createString方法创建一个StringFactory.此方法在我所讨论的第三方对象以外的所有对象上调用toString,但是对于我的...

java设计模式:面向对象设计的7个原则

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据7条原则来开发程序,从而提高软件开发效率,节约软件开发成本和维护成本。 这7条原则分别是:开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则、合成复用原则。 开闭原则(OCP,Open Closed Principle) 定义开闭原则(Open Closed Principle,OCP)由勃兰特梅耶(Bertrand Meyer)提出,他在 19...

多线程Java高速缓存用于创建繁重的对象?【代码】

我需要缓存一些创建时间很长的对象,并且需要一次精确的创建语义.应该可以同时为不同的CacheKey创建对象.我想我需要(在幕后)执行以下操作:ConcurrentHashMap<CacheKey, Future<HeavyObject>>我可以重用任何现有的开源实现吗?解决方法:您是否看过Guava的MapMaker课程?我认为它可以满足您的所有需求-尽管您不给Future提供功能,而是给该类提供Function&lt ;?超级K ,?扩展V>用于计算值. 回顾一下您的帖子,如果您真的需要在其中放置值...

java – 将缓存的Map对象复制到临时Map对象中【代码】

我正在获取Map< String,List>来自ehcache的对象.我不想更新Map对象,而是想将缓存的Map的内容复制到临时Map中.如何创建Map的副本,以便更改主Map中的值也不会更改副本中的值.解决方法:这真的取决于你想做什么.如果你只需要一份浅色的副本,保罗的答案就足够了,或者做以下事情Map<String, Object> fromEhcache = ... Map<String, Object> copy = new HashMap<String, Object>(fromEhcache);但是,如果需要深层复制,即需要复制地图中的所...

java – 如何增加Integer对象的缓存大小【代码】

在读这篇question时 我知道我们可以通过这个评论来增加缓存的大小The recent version of Java 6 support changing the maximum cache value to greater than 127我谷歌它但没有发现做同样的事情. 请帮忙.解决方法:IntegerCache例如这样说:/*** Cache to support the object identity semantics of autoboxing for values between * -128 and 127 (inclusive) as required by JLS.** The cache is initialized on first usage. Dur...

带有缓存层的Java对象引用【代码】

我们已经为J2EE应用程序创建了一个缓存层.在这个例子中,我们使用Ehcache.这带来了一些挑战. 我们来看看这个例子吧.OrderItem orderitem = cache.getOrderItemByID("id"); OrderItem old_orderitem = cache.getOrderItemID("id");orderitem.setStatus(1); old_orderitem.setStatus(2);如果我们不小心,那么对这两个对象的任何更改都会影响另一个(它们引用同一个对象).将orderitem保存回dabase将使其status = 2 我们如何以最佳方式解决...

java – Tangosol Coherence可以缓存不可序列化的对象吗?

我正在使用Tangosol Coherence v3.2.2b371.我可以通过NamedCache api缓存未实现Serializable的对象吗?或者这取决于配置? 编辑:为了澄清,我正在尝试缓存已编译的javax.xml.xpath.XPathExpression对象.解决方法:要将对象存储在缓存中,它必须是可序列化的,但不必实现Serializable.具体来说,它可以使用POF,它比Serializable在时间和内存方面更有效. POF确实需要一些额外的配置,这在我链接的文章中有所描述.

使用Redis作为Spring缓存管理器来缓存自定义Java对象

我想使用Redis作为缓存管理器来缓存来自MySQL数据库的JPA实体. 我是Redis的新手,看起来Redis只能缓存它知道的基本类型/结构(字符串,哈希等) 我的问题是:我可以使用Redis(与Spring缓存抽象一起)作为弹簧缓存管理器来缓存我的自定义对象(比如人,订单,客户等……)吗?解决方法:您可以从查看Spring Data Redis开始,但与Spring Data JPA不同,它不提供存储库抽象,而是使用具有仅针对redis的访问器方法的Spring模板.由于Redis不支持关系,...

Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)【代码】【图】

?内容简介 本文主要说明在Java8及以上版本中,使用stream().filter()来过滤一个List对象,查找符合条件的对象集合。 List对象类(StudentInfo)public class StudentInfo implements Comparable<StudentInfo> {//名称 private String name;//性别 true男 false女 private Boolean gender;//年龄 private Integer age;//身高 private Double height;//出生日期 private LocalDate birthday;public StudentInfo(Strin...

java – 我们什么时候应该通过接口的类型引用一个对象?【代码】

参见英文答案 > What does it mean to “program to an interface”? 31个在下面的代码中,我有两种不同的方法来实例化B类的对象.public interface A {}public class B implements A {}public static void main(String[] args) {A test1 = new B();B test2 = new B(); }变量test1和test2有什么区别?我何时应该使用Interface类型(type1)进行实例化,何时不应该?解决方法:当您希望保持代码更加...