Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 属性的getter/setter或map_Java - Fatal编程技术网

Java 属性的getter/setter或map

Java 属性的getter/setter或map,java,Java,我有一个关于在pojo类中使用属性的最佳实践的问题。基本上,我看到pojo类具有私有字段的getter/setter。操作属性很容易,但是没有太多的灵活性(如果我们想添加额外的属性,我们至少需要更改一个类) 但是,还有另一种方法可以使用属性(特别是当您有太多属性时)来使用集合(Map、Set等)。在这种情况下,如果我们想添加一些新属性,就不需要更改类。我认为,这个选项的缺点是,由于键错误,获取某些类型的属性会有点困难。什么样的最佳实践可用于此主题 从我的观点来看,这个选项的缺点是,由于键的错误,

我有一个关于在pojo类中使用属性的最佳实践的问题。基本上,我看到pojo类具有私有字段的getter/setter。操作属性很容易,但是没有太多的灵活性(如果我们想添加额外的属性,我们至少需要更改一个类)

但是,还有另一种方法可以使用属性(特别是当您有太多属性时)来使用集合(Map、Set等)。在这种情况下,如果我们想添加一些新属性,就不需要更改类。我认为,这个选项的缺点是,由于键错误,获取某些类型的属性会有点困难。什么样的最佳实践可用于此主题

从我的观点来看,这个选项的缺点是,由于键的错误,获取某种属性会有点困难

这是这样做的问题之一,是的。另一个原因是,使用不存在的属性会成为运行时错误,而不是编译时错误。除非所有属性值都是同一类型,否则必须使用非类型化集合并将所有内容都强制转换(
f=(int)obj.get(“foo”);
),或者使用多个类型化集合并始终使用正确的集合(
f=obj.getInt(“foo”);

什么样的最佳实践可用于此主题

使用正确的属性,而不是名称-值对的集合。:-)