我有许多具有属性描述的对象,其中包含:
description: "This is <strong>my description<strong>"
我在方法中用这个对象构建一个列表A然后返回。 另一个列表B正在接收A列表,它隐藏了html标签。
当我访问列表B中列表A的同一对象时,描述如下:
description: "This is my description"
我不知道地图或列表上是否有属性在将HTML内容传输到另一个时丢失了HTML内容。
有人能帮助我吗?
代码:
def bla {
def mentions = [:]
mentions = extractMentionsFromJSON(def json)
println " 3 " + mentions[0].description
}
def extractMentionsFromJSON(def json){
def result = []
json.response.docs.each {
try {
Mention m = new Mention()
m.title = json.highlighting[m.id].'title'.getAt(0)
println "1 title --> " + m.title
println "1 title --> " + m.title.getClass()
m.description = json.highlighting[m.id].'description'.getAt(0)
println "1 description --> " + m.description
println "1 description --> " + m.description.getClass()
result.add(m)
} catch (Exception e) {
println "ERROR"
}
println " 2 "
result.each { println it.title}
return result
}
}
在打印“1”和“2”中,对象描述和标题具有html内容的正确属性。 在prin“3”中,没有html内容。
答案 0 :(得分:1)
当您在Groovy或Java中传递列表时,您不会传递列表的副本及其中的所有内容。您只需将引用传递给同一列表及其中的相同项目。
如果在方法中更改这些对象,则引用它们的任何其他位置都将看到更改。您需要明确地复制这些对象。
(如果答案过于模糊和通用,我很抱歉,但您没有提供足够的有关您的代码的信息来制作正确的样本。)