String.trim()这个细节不能忘记

如下代码中如果s不加s.trim(),s.equals("exit")很大可能会是false,因为new byte[20],是有20个字节的

public class test{
public static void main(String[] args){
String s=null;
byte[] b=new byte[20];
try{
System.in.read(b);}
catch(Exception e)
{System.out.println("abc");}
s=new String(b);
s=s.trim();

if(s.equals("exit")){System.out.println("aaaaa");}
else{System.out.println("java");}
}
}

附加:

a==b,如果a的引用和b的引用是同一对象,则为true;否则为false。也用于基本类型的如int char等等,内容相同则为true。

a.equals(b),如果a的引用和b的引用是同一对象,则为true;否则为false。不过equals可以为重写为不必为同一对象,只要a和b的内容相同就为true。

原文地址:https://www.cnblogs.com/heysong/p/3710717.html