Scala 仅显示一个键值的HashMap
下面是我为两个不同的键输入地址的代码,但我只得到一个键值,即“Address\u HOME” 我不知道“地址邮件”是不是被替换了Scala 仅显示一个键值的HashMap,scala,hashmap,Scala,Hashmap,下面是我为两个不同的键输入地址的代码,但我只得到一个键值,即“Address\u HOME” 我不知道“地址邮件”是不是被替换了 var homeAddress = new Address var mailAddress = new Address homeAddress.setAddressLine1(recordString(EmployeeJobMetadata.homeAddressLine1.id)) mailAddress.setAddressLine1(recor
var homeAddress = new Address
var mailAddress = new Address
homeAddress.setAddressLine1(recordString(EmployeeJobMetadata.homeAddressLine1.id))
mailAddress.setAddressLine1(recordString(EmployeeJobMetadata.mailAddressLine1.id))
var addressMailMap = new HashMap[String, Address]
addressMailMap.put(mailAddress.ADDRESS_MAIL, mailAddress)
var homeAddressMap = new HashMap[String, Address]
homeAddressMap.put(homeAddress.ADDRESS_HOME, homeAddress)
employeePersonalData.setAddressMap(addressMailMap)
employeePersonalData.setAddressMap(homeAddressMap)
Pojo类:
@DynamoDBDocument
class EmployeePersonalData {
@BeanProperty
var firstName: String = _
@BeanProperty
var lastName: String = _
@BeanProperty
var addressMap: Map[String, Address] = _
}
您正在创建并添加两个单独的HashMap(
addressMailMap
和addressMailMap
),然后将它们分配到employeePersonalData
中的相同字段(通过setAddressMap
):
employeePersonalData.setAddressMap(addressMailMap)
employeePersonalData.setAddressMap(homeAddressMap) // ref to addressMailMap is replaced by ref to homeAddressMap
如果您希望两个地址都在一个映射中,那么您应该只实例化一个hashmap并将地址放入其中