「java水平的属性值」java中的属性值什么意思
本篇文章给大家谈谈java水平的属性值,以及java中的属性值什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 中引用值和属性值(实际值) 提问
- 2、java 传过来一个对象,如何得到这个对象的所有属性值?
- 3、java 类的属性值为什么不能直接修改
- 4、java中如何进行属性值排序
- 5、Java获取泛型对象中的某个属性值
java 中引用值和属性值(实际值) 提问
解释如下
public static void main(String[] args) {
// 首先要明白一个问题,Integer为对象
// 使用 == (双等于)的比较为对象引用地址的比较,而不是对象所代表值的比较
// 当 Integer 的对象值在 -128~127 之间时,多个对象会引用同一个数据,
// 即引用地址是相同的,而不在这个范围内的值则不会
// 比较范围内的值 -128~127
Integer a1 = 100;
Integer b1 = 100;
System.out.println(a1==b1); // true
// 比较范围外的值
Integer a2 = 200;
Integer b2 = 200;
System.out.println(a2==b2); // false 不在范围内
// new 对象比较
Integer a3 = new Integer(100);
Integer b3 = new Integer(100);
System.out.println(a3==b3); // false 使用的为new关键字
// 可以看出,如果是自动装包 即:Integer a = 3;
// Java在 -128~127 这个数值之间会自动引用同一个地址
// 而使用 new 关键字创建的对象则不会进行
// 如果要比较值的话可以这样
// 1. 使用equals方法
System.out.println(a2.equals(b2));
// 2. 使用 intValue() 方法
System.out.println(a2.intValue()==b2.intValue());
}
java 传过来一个对象,如何得到这个对象的所有属性值?
1、过去某个类的某个属性:
2,可以通过对象调用其属性:
3,创建对象 :类名 对象名 = new 类名();
4,调用属性:对象名.属性
5,获取某个对象的所有属性
6,数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();
7,使用反射
public static void main(String[] args) {
Model model = new Model();
Field fd = new Field();
fd.getField(model);
}
private void getField(Object model) {
java.lang.reflect.Field[] fields = model.getClass().getDeclaredFields();
for(java.lang.reflect.Field f:fields){
System.out.println(f.getName());
}
}
java 类的属性值为什么不能直接修改
如果你把属性设为 public 就可以直接修改呀。,用方法是因为属性是私有的,通过一个方法封装了它
java中如何进行属性值排序
你可以把你要排序的属性放到一个TreeSet中,这个类在java.util包中,而且这个TreeSet中只能存放这个属性,也就是元素对象类型要一致!然后这个对象要是可以比较的,就是说你定义的这个类是可以比较的,这个类要实现Comparable接口,然后实现其中的compareTo方法,给出你的比较方法,像我下面的例子中我对学生这个类用年龄排序,如果年龄相同的TreeSet会把这个对象舍去的,所以你可以给出多个比较方法,比如说年龄相同,就按照姓名在排序,姓名相同再按照学号排序,保证加到TreeSet中的元素不同,因为TreeSet会根据你的比较方法自动舍去相同的元素!
import java.util.*;
public class SetTest {
/**
* @param args
*/
public static void main(String args[]){
TreeSet hs=new TreeSet();
hs.add(new Student("cyq",26));
hs.add(new Student("binxin",24));
hs.add(new Student("binxin",23));
for (Object o:hs){
System.out.println(o);
}
}
}
class Student implements Comparable{
String name;
int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String toString(){
return name+":"+age;
}
public int compareTo(Object o) {
Student s=(Student)o;
return this.age-s.age;
}
}
Java获取泛型对象中的某个属性值
首先做一个接口,接口中声明需要的取值方法
然后做你要的实际的类,每个类实现不同的取值方法
然后list通过接口进行定义,将每个实际类的对象insert到list中间
然后利用多态实现动态的方法绑定,实现你的需求
关于java水平的属性值和java中的属性值什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。