区别在于1。在方法里new在调用该方法时才会new出新对象,对内存来说是有好处的,er在类里就new的话,实例化类的时候,Face就会被创建,如果一直不用的话,占用内存空间。

2.按照标准的bean的写法,一般在方法里进行类的属性的赋值。3.应该都不会报错的吧。
数据库默认时区与服务器上不一致。
如果服务器时间是你想要的,那么就是数据库时区未设置。
一般情况下安装中文版的就会默认给你默认设置为东八区,应该没有问题。
我先前这个中间还用了一个中间件才到数据库,但是前台增加与显示结果也都没问题(中间件会负责解析)。
这种情况跟客户端一点关系都没有(除非你的Date是JS中的Date那就有关系了)
如果你要查看new一个对象时 对各个构造函数的调用顺序的话 你可以在父类和之类的构造函数中分别打印一句话 然后你进行new操作 你就可以根据打印输出的信息的先后顺序, 知道各构造函数的调用先后顺序 如果你想知道其他方法的加载顺序 也可以利用此办法进行测试 这是开发中很常见的一种调试方式 当然如果你会debug的话就更加清晰明白了
泛型的却很有用, 如果跟反射可以配合用好, 普通企业应用得代码量可以减少非常多. 2. python之类type inference语言比java更适合做这种template抽象
你debug的结果是没有问题的,我不太明白你疑惑的知识点在哪,我从以下几个方面回答这个问题。
一、List集合是不去重的
在解释上面的原因之前,我们要知道一下两个知识点
第一个知识点:List集合底层数据结构是一个数组,所以数组的下标可以放任意泛型的数据,包括重复数据。第二个知识点:Set集合底层是用HashMap实现的,它每一个元素都不能重复。
向这种如果迭代输出,会输出3次,a.list的长度也是3.
像这种Set添加重复元素,会进行覆盖,此时Set集合中只有一个元素。
第一个List:因为对象的创建是在循环外,for的每一次循环,并没有创建新的对象,只是每一次for循环把同一个对象的属性值做了修改。所以循环10次,虽然集合的长度为10,但是属于同一个对象。
第二个List:在循环外创建了一个对象的引用,但是对象的创建都是在每一个for循环创建的,没循环一次,外面的那个引用就纸箱了一个新的对象,所以循环10次,创建了10个对象。
第三个List:对象的创建在循环里面,和第二个相同,每一次for循环也创建了一个对象,所以循环10次,创建了10个对象。
如果是Set集合,则第一种情况只会输出一个对象,第二种和第三种情况则会输出10个对象