相关疑难解决方法(0)

我们应该使用clone还是BeanUtils.copyProperties以及原因

从它的外观 - BeanUtils.copyProperties似乎创建一个对象的克隆.如果是这种情况,那么关于实现Cloneable接口的问题(只有不可变对象是新的,因为可变对象有复制的引用)这是最好的,为什么?

我昨天实现了cloneable,然后意识到我必须为非String/Primative元素提供我自己的修改.然后我被告知BeanUtils.copyProperties我现在正在使用哪个.两种实现似乎都提供了类似的功能.

谢谢

java spring clone

25
推荐指数
3
解决办法
4万
查看次数

在Groovy中分配对象属性的简写方法?

我使用这个约定创建Groovy对象...

Item item1 = new Item( name: "foo", weight: "150")
Run Code Online (Sandbox Code Playgroud)

...是否存在操作属性对象的简写约定?像这样的东西......

item1( name: "hello", weight: "175") //this does not work, btw ;-)
Run Code Online (Sandbox Code Playgroud)

...代替...

item1.name = "hello"
item1.weight = "175"
Run Code Online (Sandbox Code Playgroud)

groovy class object variable-assignment

15
推荐指数
1
解决办法
1万
查看次数

Groovy - 将属性从一个对象绑定到另一个对象

有没有办法将属性从一个类的实例绑定到另一个类的实例的属性(两者之间的公共字段).请参阅以下示例:

class One {
  String foo
  String bar
}

class Two {
  String foo
  String bar
  String baz
}

def one = new One(foo:'one-foo', bar:'one-bar')
def two = new Two()

two.properties = one.properties

assert "one-foo" == two.foo
assert "one-bar" == two.bar
assert !two.baz
Run Code Online (Sandbox Code Playgroud)

结果是一个错误:无法设置readonly属性:class的属性:Two

groovy

4
推荐指数
2
解决办法
8822
查看次数

Grails:如何以编程方式将命令对象数据绑定到服务中的域对象?

我有一个命令对象,我想转换为域对象.

但是,我想将命令对象转换为的对象可能是两个域类之一(它们都是派生类),我需要在服务中执行它(根据其他数据,我决定哪个应该绑定的对象类型).这是可能的,这是最好的方法吗? bindData()仅存在于控制器中.

我是否只需手动将命令对象参数映射到适当的域对象属性?还是有更快/更好的方式?

data-binding grails grails-orm

3
推荐指数
1
解决办法
1663
查看次数

将参数复制到Groovy类中的属性的Groovy方法是什么?

给定具有属性和构造函数的对象,我希望将构造函数参数复制到属性中,然后在构造函数中执行一些额外的工作.

import groovy.transform.TupleConstructor

@TupleConstructor
class Thing{
    def one
    def two

    public Thing(one, two){
       doSomething()
    }

    def doSomething(){
        println "doing something with one : $one and two: $two"
    }
}


println new Thing(1, 2).dump()
Run Code Online (Sandbox Code Playgroud)

如果我在构造函数中不执行任何其他操作,这将成功将args复制到属性,但如果我在构造函数中调用"doSomething()",则不会复制属性.

我正在寻找"Groovy"方法将args复制到属性.

groovy constructor

2
推荐指数
1
解决办法
1621
查看次数