JAVAÖØÐ´equals·½·¨
VAÎÊÌâµÄÒý³ö£º½ñÌì±àд̰³ÔÉß³ÌÐòµÄʱºòÓöµ½ÕâÑùÒ»¸öÎÊÌâ
public class Coordinate {
public int headX, headY;
Coordinate(int headX, int headY) {
this.headX = headX;
this.headY = headY;
}
public boolean equals(Coordinate c) {
if(this.headX == c.headX && this.headY == c.headY) {
return true;
} else {
return false;
}
}
˵Ã÷£ºCoordinate ÊÇÒ»¸ö×ø±êÀà£¬ÖØÐ´equals·½·¨µÄÔÒòÊÇÒª±È½ÏÉßÉíÊÇ·ñµ½´ïÁ˼ǼÏÂÀ´µÄÉßÍ·µÄתÍäµã£¬ÓÚÊÇ×Ô¼ºÖØÐ´ÁËequals·½·¨£¬µ«ÊÇ·¢ÏÖûÓÐЧ¹û£¬¼´Ê¹x£¬yµÄÖµÒ»Ñù£¬·µ»ØµÄÒ²ÊÇfalse¡£
ΪÁ˽øÒ»²½ÊìϤequals·½·¨£¬ÓÚÊÇ×Ô¼ºÓÖÏÈдÁËÏÂÃæÒ»¸öÑéÖ¤µÄ³ÌÐò£º
public class TestEquals {
public static void main(String[] args) {
Dog d1 = new Dog(1);
Dog d2 = new Dog(1);
System.out.println(d1 == d2);
System.out.println(d1.equals(d2));
}
}
class Dog {
int weight;
Dog(int weight) {
this.weight = weight;
}
public boolean equals(Dog d) {
if(this.weight == d.weight) {
return true;
} else {
return false;
}
}
}
µ±È»½á¹ûÊÇÒ»ÑùµÄ£¬ÎªÁ˽øÒ»²½ÑéÖ¤£¬ÓÚÊǾͽøÒ»²½ÖØÐ´ÁËhashCode()·½·¨£º
public int hashCode() {
return 0;
}
ÒòΪÓÐʱºòÓÅÏȱȽϵÄÊÇhashCodeÂë¡£µ«Êǽá¹û»¹ÊDz»ÐС£ÎÒÖ»ºÃÕÒ»ØÔÀ´¿´¹ýµÄÂíÊ¿±øÀÏʦµÄÊÓÆµ½Ì³Ì£¬²Å·¢ÏÖ×Ô¼º¶ÔÕâ¸öÖØÐ´ºÜ²»ÊìϤ£¬ÕýÈ·µÄд·¨Ó¦¸ÃÊÇ£º
public class Coordinate {
public int headX, headY;
Coordinate(int headX, int headY) {
this.headX = headX;
this.headY = headY;
}
public int hashCode() {
return 0;
}
public boolean equals(Object obj) {
if(obj == null) {
return false;
&n
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
package Demo;
// Java·ºÐÍÎÞ·¨ÏòÉÏתÐÍ
class Info23<T> {
private T var; // ¶¨Òå·ºÐͱäÁ¿
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // Ö±½Ó´òÓ¡
return this.var.toString();
}
}
public class GenericsDem ......
package Demo;
// Java·ºÐͽӿÚ
interface Info24<T> { // ÔÚ½Ó¿ÚÉ϶¨Òå·ºÐÍ
public T getVar(); // ¶¨Òå³éÏó·½·¨£¬³éÏó·½·¨µÄ·µ»ØÖµ¾ÍÊÇ·ºÐÍÀàÐÍ
}
class InfoImp24<T> implements Info24<T> { // ¶¨Òå·ºÐͽӿڵÄ×ÓÀà
private T var; // ¶¨ÒåÊôÐÔ
public InfoImp24(T var) { // ͨ¹ý¹¹Ôì·½·¨É ......
ÔÚÒѾÅźÃÐòµÄÐòÁÐÖвéÕÒ´ý²åÈëµÄÔªËØµÄ²åÈëλÖ㬲¢½«´ý²åÈëÔªËØ²åÈëµ½ÓÐÐòÁбíÖеĹý³Ì¡£
½«Êý×é·Ö³ÉÁ½²¿·Ö£¬³õʼ»¯Ê±£¬Ç°²¿·ÖÊý×éΪֻÓеÚÒ»¸öÔªËØ£¬ÓÃÀ´´æ´¢ÒÑÅÅÐòÔªËØ£¬ÎÒÃÇÕâÀï½Ð arr1 £»ºó²¿·ÖÊý×éµÄÔªËØÎª³ýµÚÒ»¸öÔªËØµÄËùÓÐÔªËØ£¬Îª´ýÅÅÐò»ò´ý²åÈëÔªËØ£¬ÎÒÃÇÕâÀï½Ð arr2 ¡£
ÅÅÐòʱʹÓöþ²ãÑ»·£ºµÚÒ» ......
import java.util.Random;
/**
* ÅÅÐò²âÊÔÀà
*
* ÅÅÐòËã·¨µÄ·ÖÀàÈçÏ£º
* 1.²åÈëÅÅÐò£¨Ö±½Ó²åÈëÅÅÐò¡¢ÕÛ°ë²åÈëÅÅÐò¡¢Ï£¶ûÅÅÐò£©£»
* 2.½»»»ÅÅÐò£¨Ã°ÅÝÅÝÅÅÐò¡¢¿ìËÙÅÅÐò£©£»
* 3.Ñ¡ÔñÅÅÐò£¨Ö±½ÓÑ¡ÔñÅÅÐò¡¢¶ÑÅÅÐò£©£»
* 4.¹é²¢ÅÅÐò£»
* 5.»ùÊýÅÅÐò¡£
*
& ......