java equals next nextLine 学习笔记

来源:互联网 发布:淘宝账户会员名怎么写 编辑:程序博客网 时间:2024/06/06 02:29

java equals

/* * public  boolean equals(Object obj)其比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false.    ----  而JDK类中有一些类覆盖了oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等) 日常生活中判等规则全是equalsObject.equals(Object)==比的是两个可比较对象的内存地址值 * */public class EqualsUse {public static void main(String[] args){Integer int1 = new Integer(1);Integer int2 = new Integer(1);System.out.println(int1.equals(int2));// int1 int2 type:Integer   trueString s1 = new String("abc");String s2 = new String("abc");System.out.println(s1.equals(s2));//true
//基本数据类型封装类System.out.println(1==1);//trueSystem.out.println(1 == new Integer(1));//true  左边的int封装成右边的Integer类System.out.println(new Integer(1) == new Integer(1));//false//当然,可以自定义覆盖object类的equals()方法,重新定义比较规则。比如,下面Person类的equals()比较规则为://只要两个对象都是Person类,并且他们的属性name都相同,则比较结果为true,否则返回falseSystem.out.println("--compare self-defined object");Person p1 = new Person("jock");Person p2 = new Person("jock");System.out.println(p1.equals(p2));//未覆盖前为false}}class Person{private String name;Person(String name){this.name = name;}//------------Override equals() method of Objectpublic boolean equals(Object obj){Person p = (Person)obj;if(name.equals(p.name))return true;elsereturn false;}}


运行结果:

truetruetruetruefalse--compare self-defined objecttrue


注释:

String s1="a";
String s2="a";

s1+s2=="aa";//--flase---  



next nextLine

import java.util.Scanner;/* * next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、 * Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后, * next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说, * next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息, * 所以next方法不能得到带空格的字符串。    而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是**Enter键之前的所有字符**,    它是可以得到带空格的字符串的。 * */public class NextLineAndNext {public static void main(String[] args){String s1,s2;Scanner sc=new Scanner(System.in);/*System.out.print("请输入第一个字符串:");s1=sc.nextLine();System.out.print("请输入第二个字符串:");s2=sc.next();System.out.println("输入的字符串是:"+s1+"  "+s2);*//*Key: * 在每一个 next()、nextDouble()  、 nextFloat()、nextInt() 等语句之后加一个nextLine() * 语句,将被next()去掉的Enter结束符过滤掉。*/System.out.print("请输入第一个字符串:");s1=sc.next();sc.nextLine();//****将被next()去掉的Enter结束符过滤掉。******System.out.print("请输入第二个字符串:");s2=sc.nextLine();System.out.println("输入的字符串是:"+s1+"  "+s2);}}


正确运行:

请输入第一个字符串:hot to请输入第二个字符串:good job输入的字符串是:hot  good job




0 0
原创粉丝点击