首页 > 学院 > 开发设计 > 正文

代码笔记(1)

2019-11-14 10:09:06
字体:
来源:转载
供稿:网友

经典equals重写

public boolean equals(Object obj) { if(this == obj) return true ; if(obj != null && obj.getClass() == Person.class) { Person personObj = (Person)obj ; if(this.getIdStr().equals(personObj.getIdStr())) { return true ; } } return false ; }

### 关于java中BufferedReader的read()及readLine()方法的使用注意

1.读取一个txt文件,方法很多种我使用了字符流来读取(为了方便)

FileReader fr = new FileReader("f://TestJava.Java"); BufferedReader bf = new BufferedReader(fr);

! 这里进行读取

int b; while((b=bf.read())!=-1) { System.out.PRintln(bf.readLine()); }

发现每行的第一个字符都没有显示出来,原因呢:b=bf.read())!=-1 每次都会先读取一个字节出来,所以后面的bf.readLine()); 读取的就是每行少一个字节 所以,应该使用

String valueString = null; while ((valueString=bf.readLine())!=null) { System.out.println(valueString); }

简单的死锁程序

public class TestDeadLock implements Runnable { public int flag = 1; static Object o1 = new Object(), o2 = new Object(); public void run() { System.out.println("flag=" + flag); if(flag == 1) { synchronized(o1) { try { Thread.sleep(500); } catch (Exception e) { e.printStackTrace(); } synchronized(o2) { System.out.println("1"); } } } if(flag == 0) { synchronized(o2) { try { Thread.sleep(500); } catch (Exception e) { e.printStackTrace(); } synchronized(o1) { System.out.println("0"); } } } } public static void main(String[] args) { TestDeadLock td1 = new TestDeadLock(); TestDeadLock td2 = new TestDeadLock(); td1.flag = 1; td2.flag = 0; Thread t1 = new Thread(td1); Thread t2 = new Thread(td2); t1.start(); t2.start(); }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表