积累变成过程中的小技巧:
技巧一:如果有三个类分别为A、B、C。B作为中间类,A类作为最后的显示。A需要用到C类中的变量和B中的一些参数,用一个方法实现数据从C到A的传递。首先在B类中写一个方法,B中的方法的参数即是所需的C类中的变量,用C调用该方法把参数传过去,之后再用B类调用A的方法来完成最终的显示。
代码例子如下:
package Test;
public class A {
int A;
public void AaddB(int A, int B){
System.out.println("A=B+C="+(A+B));
}
}
package Test;
public class B {
int B = 20;
public void showA(int C){
A a = new A();
a.AaddB(C, B);
}
}
package Test;
public class C {
static int C = 10;
public static void main(String [] args){
B b= new B();
b.showA(C);
}
}
技巧二、修改HashSet里面对象的属性。
先以for循环找到需要修改的那个对象,把该属对象从HashSet里面remove,然后修改取到的对象的属性,之后再插入到HashSet中即可。
例子
package Test;
import java.util.HashSet;
public class testHashSet {
//两个属性
private String name;
private String number;
//构造函数
public testHashSet(String name,String number){
this.name = name;
this.number = number;
}
//get和set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
//主函数
public static void main(String [] args){
HashSet<testHashSet> test = new HashSet<testHashSet>();
//初始化
testHashSet t1= new testHashSet("A","1");
testHashSet t2= new testHashSet("B","2");
testHashSet t3= new testHashSet("C","3");
testHashSet t4= new testHashSet("A","1");
test.add(t1);
test.add(t2);
test.add(t3);
test.add(t4);
//输出一下,验证没有重复的,同时查看内容
System.out.println("修改之前:");
for(testHashSet s:test){
System.out.println(s.name+" "+s.number);
}//end for
//修改A对应的number为"11"
for(testHashSet s: test){
if(s.name.equals("A")){
test.remove(s);
s.setNumber("11");
test.add(s);
}
}//end for
//修改之后
System.out.println("修改之后:");
for(testHashSet s:test){
System.out.println(s.name+" "+s.number);
}//end for
}
//生成hash码
@Override
public int hashCode(){
int hash = 5;
hash = 13 * hash+(this.name != null ? this.name.hashCode():0);
hash=13*hash + (this.number != null? this.number.hashCode():0);
return hash;
}//end hashCode
//比较
@Override
public boolean equals(Object obj){
if(obj == null){
return false;
}
if(getClass() != obj.getClass()){
return false;
}
return true;
}//end equals
}//end finally