文档库 最新最全的文档下载
当前位置:文档库 › java中equals方法的用法以及

java中equals方法的用法以及

java中equals方法的用法以及
java中equals方法的用法以及

java中equals方法的用法以及==的用法(转)

equals 方法是https://www.wendangku.net/doc/0f699230.html,ng.Object 类的方法。

有两种用法说明:

(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。

“equals()”比较字符串中所包含的内容是否相同。

比如:

String s1,s2,s3 = "abc", s4 ="abc" ;

s1 = new String("abc");

s2 = new String("abc");

那么:

s1==s2 是false //两个变量的内存地址不一样,也就是说它们指向的对象不一样,故不相等。

s1.equals(s2) 是true //两个变量的所包含的内容是abc,故相等。

注意(1):

如果:StringBuffer s1 = new StringBuffer("a");

StringBuffer s2 = new StringBuffer("a");

结果:s1.equals(s2) //是false

解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,

而Object类中的equals方法是用来比较“地址”的,所以等于false.

注意(2):

对于s3和s4来说,有一点不一样要引起注意,由于s3和s4是两个字符

串常量所生成的变量,其中所存放的内存地址是相等的,

所以s3==s4是true(即使没有s3=s4这样一个赋值语句)

(2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其

对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

比如:

class A

{

A obj1 = new A();

A obj2 = new A();

}

那么:obj1==obj2是false

obj1.equals(obj2)是false

但是如加上这样一句:obj1=obj2;

那么obj1==obj2 是true

obj1.equals(obj2) 是true

总之:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较

其指向的对象是否相同的。

== 比较符也是比较指向的对象是否相同的也就是对象在对内存中的的首地址。

String类中重新定义了equals这个方法,而且比较的是值,而不是地址。所以是true。关于equals与==的区别从以下几个方面来说:

(1)如果是基本类型比较,那么只能用==来比较,不能用equals

比如:

public class TestEquals {

public static void main(String[] args)

{

int a = 3;

int b = 4;

int c = 3;

System.out.println(a == b);//结果是false

System.out.println(a == c);//结果是true

System.out.println(a.equals(c));//错误,编译不能通过,equals方法

//不能运用与基本类型的比较

}

}

(2)对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。比如:public class TestEquals {

public static void main(String[] args)

{ Integer n1 = new Integer(30);

Integer n2 = new Integer(30);

Integer n3 = new Integer(31);

System.out.println(n1 == n2);//结果是false 两个不同的Integer对象,故其地址不同,

System.out.println(n1 == n3);//那么不管是new Integer(30)还是new Integer(31) 结果都显示false

System.out.println(n1.equals(n2));//结果是true 根据jdk文档中的说明,n1与n2指向的对象中的内容是相等的,都是30,故equals比较后结果是true

System.out.println(n1.equals(n3));//结果是false 因对象内容不一样,一个是30一

个是31

}

}

这是Integer的实例,如果是其他的比如Double、Character、Float等也一样。

(3)注意:对于String(字符串)、StringBuffer(线程安全的可变字符序列)、StringBuilder(可变字符序列)这三个类作进一步的说明。

(a)首先,介绍String的用法,请看下面的实例:

public class TestEquals {

public static void main(String[] args) {

String s1 = "123";

String s2 = "123";

String s3 = "abc";

String s4 = new String("123");

String s5 = new String("123");

String s6 = new String("abc");

System.out.println(s1 == s2);//(1)true

System.out.println(s1.equals(s2));//(2)true

System.out.println(s1 == s3);//(3)flase

System.out.println(s1.equals(s3));//(4)flase

System.out.println(s4 == s5);//(5)flase

System.out.println(s4.equals(s5));//(6)true

System.out.println(s4 == s6);//(7)flase

System.out.println(s4.equals(s6));//(8)flase

System.out.println(s1 == s4);//(9)false

System.out.println(s1.equals(s4));//(10)true

}

}

答案解释:s1与s2分别指向由字符串常量”123” 创建的对象,在常量池中,只有一个对象,内容为123,有两个引用s1和s2指向这个对象,故这两个引用变量所指向的地址是相同的,因而(1)处的运行结果为true,又因为s1.equals(s2)是比较s1和s2所指向的对象的内容是否相等,而我们知道这两个对象的内容都是字符串常量”123”,故标记(2)处的运行结果是true。

用同样的方法分析,s1和s3所指向的对象不一样,内容也不一样,故标记(3)和(4)处运行结果是false。

再看看s4和s5,这两个引用变量所指向的对象的内容都是一样的(内容都是123),但是这两个对象是用new操作符创建处类的,是在内存中分配两块空间给这两个对象的,因而这两个对象的内存地址不一样,故事两个不同的对象,标记(5)处的s4 == s5 运行结

果为false,但是内容一样,故标记(6)处的s4.equals(s5)运行结果为true。同理,s4和s6所指向的对象地址不同,内容也不相同。故标记(7)(8)处运行结果为false。

s1和s4分别指向两个不同的对象(之所以这样称呼,是因为这两个对象在内存中的地址不相同,故而对象不相同),故标记为(9)处的s1 == s4运行结果为false,而标记为(10)处的s1.equals(s4)运行结果为true.

(4)再看一种情况,先看一个例子(该例子是Java编程思想第三章的例子):

class Value

{

int i;

}

public class EqualsMethod2 {

public static void main(String[] args) {

Value v1 = new Value();

Value v2 = new Value();

v1.i = v2.i = 100;

System.out.println(v1.equals(v2));//(1)flase

System.out.println(v1 == v2);//(2)true

}

}

运行结果疑问:乍一看结果,有点惊讶,为什么不是true呢,不是说equals方法是比较内容的吗?

解释:不错,如果在新类中被覆盖了equals方法,就可以用来比较内容的。但是在上面的例子中类Value并没有覆盖Object中的equals方法,而是继承了该方法,因此它就是被用来比较地址的,又v1和v2的所指向的对象不相同,故标记(1)处的v1.equals(v2)运行结果为false,标记为(2)处的v1 == v2运行结果也为false。

总结:equals和==的介绍就到此处,如果有更好的或者更新的解释请大家多多指教,谢谢。

javamath类常用方法

例如求平方根的(n),求a的b次方(a, b),求绝对值(n)等很多。下面是一些演示。publicclassMathTest { publicstaticvoidmain(String[]args) { intn=16; ? 3)); ? ? } } publicclassMathDemo{ publicstaticvoidmain(Stringargs[]){ /** *abs求绝对值 */ 的时候会取偶数 */ // // // // // // // // // // /** *round四舍五入,float时返回int值,double时返回long值 */ //10 //11 //11 //11 //-10 //-11 //-11 //-10 } }

函数(方法) 描述 IEEEremainder(double,double) 按照IEEE754标准的规定,对两个参数进行余数运算。 abs(inta) 返回int值的绝对值 abs(longa) 返回long值的绝对值 abs(floata) 返回float值的绝对值 abs(doublea) 返回double值的绝对值 acos(doublea) 返回角的反余弦,范围在到pi之间 asin(doublea) 返回角的反正弦,范围在-pi/2到pi/2之间 atan(doublea) 返回角的反正切,范围在-pi/2到pi/2之间 atan2(doublea,doubleb) 将矩形坐标(x,y)转换成极坐标(r,theta) ceil(doublea) 返回最小的(最接近负无穷大)double值,该值大于或等于参数,并且等于某个整数cos(double) 返回角的三角余弦 exp(doublea) 返回欧拉数e的double次幂的值 floor(doublea) 返回最大的(最接近正无穷大)double值,该值小于或等于参数,并且等于某个整数log(doublea) 返回(底数是e)double值的自然对数 max(inta,intb) 返回两个int值中较大的一个 max(longa,longb) 返回两个long值中较大的一个 max(floata,floatb) 返回两个float值中较大的一个 max(doublea,doubleb) 返回两个double值中较大的一个 min(inta,intb) 返回两个int值中较小的一个 min(longa,longb) 返回两个long值中较小的一个 min(floata,floatb)

介词from的语法特点与用法习惯

介词?f rom的语法特点与用法习惯 1.不要根据汉语意思在及物动词后误加介词?from。如: 他上个星期离开中国去日本了。 误:?H e left from China for Japan last week. 正:?H e left Chine for Japan last week. 另外,也不要根据汉语意思错用介词?from。如: 太阳从东方升起,从西方落下。 误:?T he sun rises from the east and sets from the west. 正:?T he sun rises in the east and sets in the west. 2.f rom虽然本身是介词,但它有时也可接介词短语作宾语。如: Choose a book from among these. 从这些书中选一本吧。 A man stepped out from behind the wall. 一个人从墙后走出来。 比较: I took it from the bed. 我从床那儿(或床上)拿的。 I took it from under the bed. 我从床下拿的。 注意,下面一句用了?from where(引导非限制性定语从句),而未用?f rom which,其中的where=i n the tree,即?from where=f rom in the tree。如: He hid himself in a tree, from where he could see the enemy in the distance. 他躲在一棵树上,从那儿他可以看到远处的敌人。 3.有时其后可接?w hen, where引导的宾语从句,此时可视为其前省略了?t he time, the place。如: He didn’t speak to me from when we moved in. 从我们迁入之时起,他没和我说过话。

java中equals方法的用法以及

java中equals方法的用法以及==的用法(转) equals 方法是https://www.wendangku.net/doc/0f699230.html,ng.Object 类的方法。 有两种用法说明: (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。 “equals()”比较字符串中所包含的内容是否相同。 比如: String s1,s2,s3 = "abc", s4 ="abc" ; s1 = new String("abc"); s2 = new String("abc"); 那么: s1==s2 是false //两个变量的内存地址不一样,也就是说它们指向的对象不一样,故不相等。 s1.equals(s2) 是true //两个变量的所包含的内容是abc,故相等。 注意(1): 如果:StringBuffer s1 = new StringBuffer("a"); StringBuffer s2 = new StringBuffer("a"); 结果:s1.equals(s2) //是false 解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类, 而Object类中的equals方法是用来比较“地址”的,所以等于false. 注意(2): 对于s3和s4来说,有一点不一样要引起注意,由于s3和s4是两个字符 串常量所生成的变量,其中所存放的内存地址是相等的, 所以s3==s4是true(即使没有s3=s4这样一个赋值语句) (2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其 对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。 比如: class A { A obj1 = new A(); A obj2 = new A(); } 那么:obj1==obj2是false obj1.equals(obj2)是false

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、类 1、clone()方法 创建并返回此对象的一个副本。要进行“ 克隆” 的对象所属的类必须实现. Cloneable接口。 2、equals(Object obj)方法 功能:比较引用类型数据的等价性。 等价标准:引用类型比较引用,基本类型比较值。 存在特例:对File、String、Date及封装类等类型来说,是比较类型及对象的内 容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法 返回该对象的哈希码值。 5、notify()方法 唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法 唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 String类 charAt(int index) 返回指定索引处的 char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比 较,不考虑大小写。 indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar)

动名词的语法特征及用法

动名词的语法特征及用法 动名词由动词加-ing词尾构成,既有名词的特征,又有动词的特征。了解动名词的语法特征可帮助学习者深入理解动名词的意义,从而正确使用动名词。 一、动名词的名词特征 动名词的名词特征表现在它可在句子中当名词来用,作主语、宾语、表语、定语。例如: Beating a child will do more harm than good.打孩子弊大于利。(作主语) Do you mind answering my question?你不介意回答我的问题吧?(作宾语) To keep money that you have found is stealing.把拾到的钱留起来是偷盗行为。(作表语) No one is allowed to speak aloud in the reading room.阅览室里不许大声说话。(作定语) 在动名词担任这些句子成分时,学习者需注意的是: 1、有些动词后只能用动名词作宾语,构成固定搭配,需特别记忆。常见的这类动词有:admit(承认),advise(建议),allow(允许), appreciate(感激),avoid(避免),can't help(禁不住),consider(考虑),deny(否认),dislike(不喜欢),enjoy(喜欢),escape(逃脱),excuse(原谅),feel like(想要),finish(结束),give up(放弃),imagine(想象),involve(包含),keep(保持),mind(介意),miss(错过),permit(允许),practise(练习),quit(停止),recollect (记得),recommend(推荐),suggest(建议),stop(停止),resent(对……感到愤恨、怨恨),risk(冒……危险),cannot stand(受不了)等。例如: We do not permit smoking in the office.我们不允许在办公室吸烟。 In fighting the fire,he risked being burnt to death.在救火中,他冒着被烧死的危险。 She denied having stolen anything.她否认偷过任何东西。 I suggest doing it in a different way.我建议换一个方法做这件事。 2、动名词常用于一些固定句型中,常见的有:It is no use /no good...;It is a waste oftime...;It is fun /nice /good...;There isno...(不可以/不可能……)等。例如: It is no use asking him.He doesn't know any more than you do. 问他也没用,他并不比你知道得更多。 It's no fun being lost in rain.在雨中迷路可不是好玩的。 It's a waste of time your reasoning with him.你和他讲道理是在浪费时间。

hashCode与equals的区别与联系(经典)

hashCode与equals的区别与联系(经典) 一、equals方法的作用1、默认情况(没有覆盖equals 方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没有覆盖equals方法代码如下:[java] view plaincopy//学生类public class Student { private int age; private String name; public Student() { } public Student(int age, String name) { super(); this.age = age; https://www.wendangku.net/doc/0f699230.html, = name; } public int getAge() { return age; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public void setName(String name) { https://www.wendangku.net/doc/0f699230.html, = name; } } 测试代码如下:[java] view plaincopyimport java.util.HashSet; import java.util.LinkedList; import java.util.Set; public class EqualsTest { public static void main(String[]

JAVA中常用类的常用方法

JAVA屮常用类的常用方法 一.java?丨ang.Object 类 1、clone()方法 创建丼返M此对象的一个副木。要进行“克隆”的对象所属的类必须实现https://www.wendangku.net/doc/0f699230.html,ng. Cloneable 接口。 2、equals(Objectobj)方法 0 功能:比较引用类型数据的等价性。 0 等价标准.?引用类型比较引用,基木类型比较值。 0 存在特例.?对File、String、Date及封装类等类型来说,是比较类型及对象的内稃而+ 考虑引用的是否为同一实例。 3、finalize〇方法 当垃圾丨"丨收器确定>(、存在对该对象的更多引用时,由对象的垃圾丨"丨收器调用此方法。 4、hashCode〇方法返 回该对象的哈希码值。 5、notify〇方法 唤醒在此对象监视器上等待的中?个线祝。 6、notifyAII〇方法 唤醒在此对象监视器上等待的所有线程= 7、toString()方法 返W该对象的字符串表示。在进行String与其它类型数据的连接操作时,&动调用tostringo 方法。可以根据耑要重写toStringO方法。 8、wait()方法 在其他线程调用此对象的n〇tify()方法或notifyAIIO方法前,异致当前线程等待。 二、字符串相关类 I String 类 charAt(int index)返回指定索引处的char值。compareTo{String anotherString)按字

典顺序比较两个字符串。compareTolgnoreCase(Stringstr)按字典顺序比较两个字 符串,不考虑人小写。concat(String str)将指定字符串连接到此字符串的结尾。 endsWith(String suffix)测试此字符串是否以指定的〗?缀结束。equals{Object anObject)将此字符串与指定的对象比较。 equalslgnoreCase(String anotherString)将此String 与另一个String 比较,考虑人小'与’。indexOf(int ch)返H指定字符在此字符串屮第一次出现处的索引。 indexOf(String str)返回第一次出现的指定子字符串在此字符串屮的索引, lastlndexOf(intch)返回指定字符在此字符串中最后??次出现处的索引。 length()返|n丨此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。 split(String regex)根据给定正则表达式的匹配拆分此字符串。startsWith{String prefix)测试此字符 串是否以指定的前缀开始。substring(int beginlndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginlndex, int endlndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginlndex 处开始,一直到索引endlndex-1处的字符。 t〇CharArray()将此字符串转换为一个新的字符数组。

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

Java中关于==和equal的区别+以及equals()方法重写

Java中关于==和equal的区别以及equals()方法重写 例子i: string1="aaa"; string2="aaa"; String string3=new String("aaa"); String string4=new String("aaa"); string1==string2 // true; . string1.equals(string2);//true; string3==string4;//false 因为用new创建了2个对象,所以是两个不同的内存地址 string3.equals(string4);//true 而String类的是不可改变的,所以会指向同一个内存地址,所以返回为true equals()是object的方法,所以只是适合对象,不适合于基本类型,equals()默认是用"=="比较两个对象的内存地址,如果想要比较两个对象的内容,要重写equals()方法才可...而==可以比较两个基本类型,也可以是对象... String的equals()方法重写: public boolean equals(Object object){ if( this==anObject) {return true;} if(anObject instancdOf String) {String anotherString =(String)anObject; int n= count; if(n==anotherString.count) { char V1[]=value; char V2[]=anotherString.value; int i=offset; int j=anotherString.offset; while(n--!=0) { if (v1[i++]!=V2[j++] return false;} return true;} }

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.wendangku.net/doc/0f699230.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.wendangku.net/doc/0f699230.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

法语语法-名词的特点和用法

{1} 1. 名词(le nom, le substantif)的特点 名词是实体词,用以表达人、物或某种概念,如:le chauffeur(司机),le camion(卡车),la beauté(美丽)等。 法语的名词各有性别,有的属阳性,如:le soleil(太阳),le courage(勇敢),有的属阴性,如:la lune(月亮),la vie(生活)。名词还有单数和复数,形式不同,如:un ami(一个朋友),des amis(几个朋友)。 法语名词前面一般要加限定词(le déterminant),限定词可以是数词、主有形容词,批示 形容词或冠词。除数词外,均应和被限定性名词、数一致,如:la révolution(革命),un empire (一个帝国),cermarins(这些水手),mon frère(我的兄弟)。https://www.wendangku.net/doc/0f699230.html, 大部分名词具有多义性,在文中的意义要根据上下文才能确定,如: C’est une pluie torrentielle.(这是一场倾盆大雨。) Lorsque rentre la petite fille, c’est sur elle une pluie de baisers.(当小姑娘回家时,大家都拥上去亲吻她)。 第一例, pluie是本义,第二例, pluie是上引申意义。 2. 普通名词和专有名词(le nom commun et le nom propre) 普通名词表示人、物或概念的总类,如:un officier(军官),un pays(国家),une montagne (山),la vaillance(勇敢、正直)。 专有名词指特指的人、物或概念,如:la France(法国)。 专有名词也有单、复数;阴阳性。如:un Chinois(一个中国男人),une Chinoise(一个中国女人),des Chinois(一些中国人)。 3. 普通名词和专有名词的相互转化(le passage d’une catégorie àl’autre) 普通名词可转化为专有名词,如:报刊名:l’Aube(黎明报),l’Humanité(人道报),l’Observateur(观察家报)等报刊名称是专有名词,但它们是从普通名词l’aube(黎明),I’humanité(人道),l’Observateur(观察家)借用来的。 专有名词也可以转化为普通名词,意义有所延伸,其中许多还保持第一个字母大写的形式,如商品名:le champagne(香槟酒),une Renault(雷诺车),le Bourgogne(布尔戈涅洒)。以上三例分别来自专有名词la Champagne(香槟省),Renault(雷诺,姓),la Bourgogne(布尔戈涅地区)。 4. 具体名词和抽象名词(les noms concrèts et les noms abstraits)

equals方法

重写equals方法 1、equals方法和== ?对于基础类型而言,“==”比较的是基础类型的值。对于对象而言,“==”比较的是引用,即对象的内存地址。 ?equals()方法在Object基类中,其内部使用“==”实现的。在很多类中重写了equals方法,因此很多类中重写了该方法用于实现对象相等。比如:string 类等。 2、什么时候需要重写equals方法 第一种情况:如果类中提供的equals方法无法满足需求,则需要重写equals方法。 第二种情况:对于采用哈希算法的集合,集合中对象必须重写hashCode方法,同时也要重写equals方法。注意在重写equals方法的时候,函数的返回值、参数类型和参数个数必须相同,类的权限访问可以不同,但是子类重写父类的方法时,访问控制权限必须大于父类。 比如:public boolean equals(Object o)与public boolean equals(String o),构成不了重写,构成的只是重载。假如父类有方法private boolean equals(Object 0),子类这样重写public boolean equals(Object 0),可以构成重写。 3、对象相等的含义:对象的类型相同,对象的某个属性相同(如果重写该方法需要自己去决定哪个属性相同)。 对象相等的判断: ?equals(参数)函数中的参数不能为空,需要进行判断。 ?判断两个对象的类类型是否相同。两种方式:第一种判断对象的类字节码是否相同;第二种使用instanceof关键字,判断左边的对象是否为右边类的实例对象。 ?根据自己的需求决定哪个属性相同。 示例一:重写equals方法 private String username; private String password; private String gender; private int age; 方法 public User(String username,String password,String gender,int age) {} public void setUsername(String username) {} public void setPassword(String password) {} public void setGender(String gender) {} public void setAge(int age) {} public String getUsername() {} public String getPassword() {} public String getGender() {} public int getAge() {}

JavaMath类常用方法

例如求平方根的Math.sqrt(n),求a的b次方Math.pow(a, b),求绝对值Math.abs(n)等很多。下面是一些演示。 public class MathTest { public static void main(String[] args) { int n = 16; System.out.println(Math.sqrt(n)); System.out.println(Math.pow(2, 3)); System.out.println(Math.abs(-4)); System.out.println(Math.log10(100)); } } public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println(Math.abs(-10.4)); //10.4 System.out.println(Math.abs(10.1)); //10.1 /** * ceil天花板的意思,就是返回大的值,注意一些特殊值 */ System.out.println(Math.ceil(-10.1)); //-10.0 System.out.println(Math.ceil(10.7)); //11.0 System.out.println(Math.ceil(-0.7)); //-0.0 System.out.println(Math.ceil(0.0)); //0.0 System.out.println(Math.ceil(-0.0)); //-0.0 /** * floor地板的意思,就是返回小的值 */ System.out.println(Math.floor(-10.1)); //-11.0 System.out.println(Math.floor(10.7)); //10.0 System.out.println(Math.floor(-0.7)); //-1.0

常见系动词的分类及使用特点

常见系动词的分类及使用特点 系动词词义不完整,在句中不能单独使用(除省略句外),后面必须接有表语,系动词和表语一起构成合成谓语。常见的系动词大致可分为三类。 第一类:表示特征或状态的,有 be, look, feel, seem, appear, smell, taste, sound, turn out(结果是、证明是)等。 You'll be all right soon. You don't look very well. I feel rather cold. He seems to be ill. It appears that he is unhappy. The roses smell sweet. The mixture tasted horrible. How sweet the music sounds! The day turned out (to be)a fine one. 第二类:表示从一种状态到另一种状态的变化,有 become, get, grow, turn, fall, go, come, run 等。 He became a world-famous scientist. It is getting warmer and warmer. It grew dark. The food has turned bad. Yesterday he suddenly fell ill. Mary's face went red. His dream has come true. The boy's blood ran cold. 第三类:表示保持状态的,有keep, remain, continue 等。 Keep quiet, children! The weather continued fine for a long time. It remains to be proved. 系动词后的表语可以是名词、代词、数词、形容词、分词、动名词、不定式、副词、介词短语、词组、从句,系动词 be 可用于上述所有情况。如: The people are the real heroes. (名词) That's something we have always to keep in mind. (代词) She is often the first to come here. (数词) She is pretty and wise. (形容词). The news was surprising. (分词) His job is teaching English. (动名词) The only method is to give the child more help. (不定式) I must be off now. (副词) The bridge is under construction. (介词短语) That would be a great weight off my mind. (词组) This is why he was late. (从句) 系动词的使用特点: 1、所有的系动词都可接形容词作表语,此处略举数例。

Java常用类和方法面试题+答案

2015年12月20日18:25:21 Java常用类和方法重点总结 作者:数据分析玩家 1、简述Java中内存分配的问题 1>凡是new()出来的东西,都是在堆中进行分配的 2>局部变量【数据类型+变量名】都是在栈中进行分配的 3>静态变量【static】和字符串常量【“String”】都是在数据区进行分配的 4>方法【代码】都是在代码区进行存放的 2、简述Java中Object类的地位 1>Java中所有的类【自己定义的类以及Sun公司提供的类】都默认自动继承了Object类 2>Java中所有的类都从Object类中继承了toString()方法、hashCode()方法和equals()等方法 3、简述Object类中toString()方法的注意事项 1>toString()方法的返回值是一个字符串 2>toString()方法返回的是类的名字和该对象的哈希码组 成的一个字符串,即toString()方法返回的是该对象的字符串表示形式 3>在Java中System.out.println(类对象名)实际输出的是该对象的toString()方法返回的字符串,即括号中的内容等价于类对象名.toString(),toString方法的好处是在碰到

println方法的时候会被自动调用,不用显示的写出来 4>建议所有的子类都重写从Object类中继承过来toString 方法,否则toString方法的返回值没有什么实际含义 4、简述Object类中equals()方法的注意事项 1>equals方法的返回值为true或false 2>Object类中equals方法只有在两个对象是同一块内存区域时,即不但内容相同、地址还必须相同时才返回true,否则即便内容相同、如果地址不同只会返回false 3>重写Object类中的equals方法目的在于:保证只要两个对象的内容相同,equals方法就返回true 5、简述Object类中hashCode()方法的注意事项 1>哈希码原本指的是内存空间地址的十六进制表示形式 2>hashCode()方法返回的是该对象的哈希码、即该对象的真实内存地址的十六进制表示形式,但是重写完hashCode()方法之后,返回的不再是该对象真实内存地址的十六进制表示形式 6、学习Java中toString方法、equals方法、hashCode方法共同的一个注意事项 在Java中,凡是动态分配的内存都是没有名字的,而是将其地址赋给一个指针变量【引用】,用指针变量去代表这个事物,所以引用和动态分配的内存有本质上的区别,但是在学习Java中的toString方法、equals方法和hashCode方

java中常用的一些方法

java中常用的一些方法 字符串 1、获取字符串的长度 length() 2 、判断字符串的前缀或后缀与已知字符串是否相同 前缀startsWith(String s) 后缀endsWith(String s) 3、比较两个字符串 equals(String s) 4、把字符串转化为相应的数值 int型Integer.parseInt(字符串) long型Long.parseLong(字符串) float型Folat.valueOf(字符串).floatValue() double型Double.valueOf(字符串).doubleValue() 4、将数值转化为字符串 valueOf(数值) 5、字符串检索 indexOf(Srting s) 从头开始检索 indexOf(String s ,int startpoint) 从startpoint处开始检索 如果没有检索到,将返回-1 6、得到字符串的子字符串 substring(int startpoint) 从startpoint处开始获取 substring(int start,int end) 从start到end中间的字符 7、替换字符串中的字符,去掉字符串前后空格 replace(char old,char new) 用new替换old trim() 8、分析字符串 StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)StringTokenizer(String s,String delim) delim是自己定义的分隔符

nextToken() 逐个获取字符串中的语言符号 boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false countTokens() 得到一共有多少个语言符号 文本框和文本区 1、文本框 TextField() 构造文本框,一个字符长 TextField(int x) 构造文本框,x个字符长 TextField(String s) 构造文本框,显示s setText(String s) 设置文本为s getText() 获取文本 setEchoChar(char c) 设置显示字符为c setEditable(boolean) 设置文本框是否可以被修改 addActionListener() 添加监视器 removeActionListener() 移去监视器 2、文本区 TextArea() 构造文本区 TextArea(String s) 构造文本区,显示s TextArea(String s,int x,int y) 构造文本区,x行,y列,显示s TextArea(int x,int y) 构造文本区,x行,y列 TextArea(String s,int x,ing y,int scrollbar) scrollbar的值是: TextArea.SCROLLBARS_BOTH TextArea.SCROLLBARS_VERTICAL_ONLY TextArea.SCROLLBARS_HORIZONTAL_ONLY TextArea.SCROLLBARS_NONE setText(String s) 设置文本为s

统编《语文》二年级下册主要特点及使用建议

统编《语文》二年级下册主要特点及使用建议 原创 2018-03-21 张立霞人教教材培训 导读 2018年春季统编《语文》二年级下册教材网络培训讲义精要。 一、激发儿童学习兴趣,保护儿童天性 1. 选文富有童趣,利于激活儿童的经验、想象。 儿童有自己的世界,有应予尊重的天性。为顺应儿童心理,保护儿童天性,提高教育、教学效果,教科书进行了多方面的尝试与探索。 首先选文富有童趣,利于激活儿童的经验、

想象。生活故事,注意选择儿童凭借有限的生活经验就能理解的文本。童话故事,知识背景相对简单,利于减少阅读障碍。孩童化的表达,贴近儿童的心灵,同时又含了某种诗意和哲理。读起来好玩、有趣,同时内心里会沉淀些有份量的、值得未来去品味的东西。 教材的选文注重借助该年龄段有限的现实经验和相对丰富的想象,激发学习的动力和兴趣。 2. 采用游戏、活动等方式让学生在玩中学。 课后练习:在准确把握习题意图的前提下,尽可能寻找练习中的游戏、活动因素,让学习变得有趣、轻松。 文中泡泡。 字词句运用。

口语交际。 3. 注意练习的趣味性,减少畏难情绪。 写话: (1)精心设计写话内容及呈现方式,尽可能减少畏难情绪。表格的呈现方式,直观提示要写的内容,表格的示例内容也尽量贴近儿童真实生活,利于调动生活积累。 (2)色彩丰富的画面,儿童化的角色选择,有趣的情节设定,可以调动儿童的参与积极性,减少写话障碍。 (3)引导学生不拘形式地写下自己想说的话。 二、注重文化传承,立德树人自然渗透,涵养品格 教科书中的课文,“有意思”与“有意义”兼具,在激发学生学习兴趣的同时,有助于学生的精神成长。教科书统筹安排中华优秀传统文化内容,增强学生的文化认同感和民族自豪感。

相关文档