「java实体比较好」java实型是啥
今天给各位分享java实体比较好的知识,其中也会对java实型是啥进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 实体bean 的比较,并获取2个实体中不同的属性
- 2、java实体类问题
- 3、java web开发中设计实体到底有没有用
- 4、java中的实体类结构使用实体关联结构比好还是不使用实体关联
- 5、java比较实体类
java 实体bean 的比较,并获取2个实体中不同的属性
重写student 的toString 方法 直接比较对象就行了
如果在精确些的重写hashcode方法
public class Student {
private String id;
private String name;
private String add;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAdd() {
return add;
}
public void setAdd(String add) {
this.add = add;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", add=" + add + "]";
}
}
自己封装这个对象 打印下试试
也可以采用 这个是第三方实现的
zhongtyler|五级
使用apache的beanutil 可以遍历属性名称,和属性内容
java实体类问题
主要是看Id,Name这两个字段对这个类的必要性。
Info info = new Info(); info.setId(id); info.setName(name)
对于这种方式,即使不调用info.setId(id); info.setName(name)也能实例化一个Info对象。
Info info = new Info(id,name)
如果构造函数指定id,name是必须的,那就可以保证每个Info实例都是初始化了Id,Name的
java web开发中设计实体到底有没有用
当然有用,实体类是用来封装数据进行传输的,配置的get和set方法使用起来非常方便。而且对应到数据库的话每个字段都有一个实体对象,查询的时候配置对应的实体返回直接给到页面的话页面可以很方便的用到get方法取到相应的值来使用,在接口中使用实体也可以很好的对返回的数据做好分页处理,总体来说实体就是Java面向对象开发的一种表现了
java中的实体类结构使用实体关联结构比好还是不使用实体关联
不一定,看自己需要。这没有什么关系吧,没有数据库,就不能使用实体类型了吗、只能说一般情况下是对应的。有需要自己随便加就是了 ,思想不要被束缚了。
java比较实体类
这种情况你可以使用反射去写一个通用的方法,不过前提是你的那些实体类都是简单的包装类,稍后奉上代码。代码如下:
package pojo;
/**
* Created by liaokai on 2017/11/17 0017.
*/
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
if (age != person.age) return false;
return name != null ? name.equals(person.name) : person.name == null;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + age;
return result;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package util;
import pojo.Person;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by liaokai on 2017/11/17 0017.
*/
public class CompareUtilT {
public ListMap compareT(T t1,T t2,String className){
ListMap list = new ArrayListMap();
//内容没改变直接返回
if(t1.equals(t2)){
return list;
}
try {
Class c = Class.forName(className);
//读取t1和t2中的所有属性
Field[] fields = c.getDeclaredFields();
for (int i = 0; i fields.length; i++) {
Field field =fields[i];
field.setAccessible(true);
Object value1=field.get(t1);
Object value2=field.get(t2);
//判断这两个值是否相等
if(!isValueEquals(value1,value2)){
Map map = new HashMap();
map.put("name",field.getName());
map.put("before",value1);
map.put("after",value2);
list.add(map);
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return list;
}
private boolean isValueEquals(Object value1, Object value2) {
if(value1==nullvalue2==null){
return true;
}
if(value1==nullvalue2!=null){
return false;
}
if(value1.equals(value2)){
return true;
}
return false;
}
}
package pojo;
import util.CompareUtil;
/**
* Created by liaokai on 2017/11/17 0017.
*/
public class Test {
public static void main(String[] args) {
Person p1 = new Person("张三",14);
Person p2 = new Person("张三",15);
Person p3 = new Person("李四",15);
CompareUtilPerson compareUtil = new CompareUtilPerson();
System.out.println(compareUtil.compareT(p1,p1,Person.class.getName()));
System.out.println(compareUtil.compareT(p1,p2,Person.class.getName()));
System.out.println(compareUtil.compareT(p1,p3,Person.class.getName()));
System.out.println(compareUtil.compareT(p2,p3,Person.class.getName()));
}
}
//运行结果
[]
[{before=14, name=age, after=15}]
[{before=张三, name=name, after=李四}, {before=14, name=age, after=15}]
[{before=张三, name=name, after=李四}]
关于java实体比较好和java实型是啥的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。