现在的位置: 首页 > 综合 > 正文

Java编程小技巧

2017年01月10日 ⁄ 综合 ⁄ 共 1876字 ⁄ 字号 评论关闭

积累变成过程中的小技巧:

技巧一:如果有三个类分别为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

抱歉!评论已关闭.