"=="操作符的作用
1、用于基本数据类型的比较
2、判断引用是否指向堆内存的同一块地址。
equals所在位置:
在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写
public boolean equals(Object obj) { return (this == obj); }
equals的作用:
用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型
equals的基本使用:
boolean b = obj1.equals(obj2);
String类型比较不同对象内容是否相同,应该用equals,因为==用于比较引用类型和比较基本数据类型时具有不同的功能。
分析如下:
String作为一个对象来使用
例子一:对象不同,内容相同,"=="返回false,equals返回true
String s1 = new String("java"); String s2 = new String("java"); System.out.println(s1==s2); //false System.out.println(s1.equals(s2)); //true
例子二:同一对象,"=="和equals结果相同
String s1 = new String("java"); String s2 = s1; System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true
String作为一个基本类型来使用
如果值不相同,对象就不相同,所以"==" 和equals结果一样
String s1 = "java"; String s2 = "java"; System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true
如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
转载:http://www.cnblogs.com/tinyphp/p/3768214.html
相关推荐
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...
<br> String.equals()方法与== 运算符的用法比较<br>Item 3:<br> Java 是强类型语言本<br>Item 4:<br> 那是构造函数吗<br>Item 5:<br> 不能访问被覆盖的方法<br>Item 6 :<br> 避免落入隐藏变量成员的陷阱<br>Item 7...
本篇复习将重点讨论String类中的`equals()`方法和`==`运算符的区别,这对于理解对象比较和字符串操作至关重要。 首先,`==`运算符在Java中用于比较基本类型(如int、char)的值,而在比较对象时,它实际上是检查两...
Java 中 String.equals 和 == 的比较 Java 中 String.equals 和 == 的比较是 Java 编程语言中一个常见的概念,但是一些初学者容易混淆这两个概念。下面我们将详细介绍 Java 中 String.equals 和 == 的比较。 ...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的运算符,它们之间的区别是非常重要的。 首先,我们需要了解 Java 中的内存模型。在 Java 中,变量可以分为两种:基本类型(primitive type)和...
name="userName" id="userName"></td> </tr> <tr> <td>密码:<input type="password" name="password" id="password"></td> </tr> <tr> <td><input type="submit" value="登录" style="background-color:pink"> ...
查询到如下记录:<BR> <% StringBuffer b=book.getMessageBybook_id(); %> <%=b%> <P>如果准备订购该书,请填写订单,点击"添加到订单"按钮<BR> <%if((book.getId())!=0) {%> <FORM action="<%=str%>" method=...
<br> }<br>}<br><br>答案::填空第1题<br>x=10,a=3,b=4,c=5<br>填空第2题<br>java.util<br>填空第3题<br>(public )(static )(void)(main)(String args[])<br>填空第4题<br>1<br>填空第5题<br>
<td height="18" colspan="2" bgcolor="#CCFF00"><span class="STYLE23">内容:</span></td> </tr> <tr> <td height="148" colspan="2" bgcolor="#CCCCCC"> <textarea name="note" rows="8" cols="25"></...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个常用的操作符,经常用于比较对象或变量的值。然而,许多开发者不知道它们之间的区别,或者误用它们,导致程序出错。下面我们将详细解释 equals 和 == 的...
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>读入 <br><br>import org.apache.poi.hssf.usermodel.*;<br>import org.apache.poi.poifs.filesystem.*;<br>import java.io....
Java 中的equals和==的区别 Java 是一种面向对象的编程语言,其中有两种数据类型:基本数据类型和引用数据类型。基本数据类型包括整数类型、浮点数类型、字符类型、布尔类型等,共有八种;而引用数据类型则包括 ...
<br>分析:<br> 在edtftpj中有个FTPClient类,此类可以实现ftp的上传。用到的几个函数说明如下:<br> 1、构造函数 FTPClient(ftp服务器,ftp端口)<br> 2、login(ftp登录账号,ftp密码) //登录ftp服务器<br> 3、...
i<=${page.totalPages};i++) document.write("<option value="+i+">"+i+"</option>"); document.forms[0].pagetype.options[${page.currentPage}-1].selected = true; </script> </...
在性能敏感的场景下,可以考虑使用特定的数据结构(如自定义的`CaseInsensitiveString`类)或算法来优化比较过程。此外,当比较的字符串较长时,可以考虑分块处理,减少一次性转换整个字符串的负担。 总的来说,不...
这部分展示了如何使用`<jsp:include>`和`<jsp:forward>`实现页面之间的包含和转发。 ```html <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %> <% request.setCharacterEncoding("utf-8"); ...
在Java编程语言中,`equals()` 和 `==` 都用于比较对象,但它们的用法和含义有所不同。本文将详细解析这两个操作符在Java中的区别,并通过具体的例子进行阐述。 1. `==` 操作符: `==` 在Java中主要用来比较基本...
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request....
if(macAddressPosition <= 0) continue; String macAddressCandidate = line.substring(macAddressPosition + 1).trim(); if(windowsIsMacAddress(macAddressCandidate)) { lastMacAddress = macAddressCandidate; ...