每天一道面试题:谈谈==和equals的区别

关于==和equals的区别和联系,面试这么回答就可以 长篇大论的话,我这里就不多写了,相信大家入门java 的时候就知道个大概了,这里想表述的是,如果面试官问你《关于==和equals的区别》,该怎么回答完美呢?可以这样说总结的来说:  1)对于==,比较的是值是否相等如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;    如果作用于引用类型的变量,则比较的是所指向的对象的地址  2)对于equals方法,注... 阅读详情

比较基本数据类型时,只能采用==,比较的是数值

当比较引用类型时,==比较的是引用的地址,而equals其实也是,我们查看到equals是Object定义的方法,而其默认的实现也是比较地址。

而我们经常用到的String类型,因为重写了equals方法,其内部比较的是内容,所以

String s1 = new String("永远相信美好的事情即将发生");

String s2 = new String("永远相信美好的事情即将发生");

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

每天一道面试题:谈谈==和equals的区别

FANUC机器人示教器自定义画面PICTURE:从KAREL到PMC的完整实现指南 工业机器人的示教器不仅是编程和操作的入口,更是人机交互的重要窗口。很多制造企业希望将品牌标识、工艺流程图或安全提示直接显示在示教器上,这便涉及FANUC机器人PICTURE自定义画面的核心机制。不同于简单的图片替换,PICTURE本质上是KAREL高级编程、$SBR参数传递、PMC梯形图定时控制以及文件传输工具协同配合的完整体系。通过KAREL程序绘制界面元素,利用$SBR[n].$PARAM[47]传递功能键状态实现画面切换,再借助Ladder III中的TRMB时间参数优化信号响应,最终实现稳定可靠的人 阅读详情

相关推荐

Android音频学习(一)——音频基础

在系统的学习Android音频之前,先了解音频的基础知识。

miemie2014的博客 1484

【面试题】equals 和 “==“ 的区别

equals 和 "==" 的区别

qq_62200539的博客 468

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

python-面向对象

定义一个简单的类(只包含方法) self 变量: self : 哪个对象调用方法或者属性,self就是那个变量。 练习查看 self和 对象的内存id值是否相同。

m0_50485614的博客 202

固定翼飞行器建模(二)——MATLAB/Simulink建模、配平及线性化

MATLAB/Simulink固定翼建模、配平及线性化。

2302_80148937的博客 1万+

无人机VS地面机器人:用AirSim和Gazebo玩转ROS2仿真的5个实战场景对比

本文深度对比了ROS2生态中两大仿真工具AirSim和Gazebo在无人机与地面机器人应用中的表现。通过电力巡检、仓库调度、SLAM建图等5个实战场景,分析了两者在视觉保真度、物理精度、开发效率等方面的差异,并提供了跨平台协作的实用技巧,帮助开发者根据项目需求选择合适的仿真工具。

flink9streamer的博客 900

面试必问之==和equals的区别

1、== 比较基本数据类型(byte、short、int、long、float、double、char、boolean)则直接比较其存储的 “值”是否相等。 public class Studey { public static void main(String[] args) { int d=1; int c=1; System.out.println(d==c); } } 控制台打印为true。 2、== 比较引用类型是.

weixin_38007185的博客 570

【推荐100个unity插件】对话系统插件——YarnSpinner-Unity插件

Yarn Spinner是一款专为游戏对话设计的脚本语言,适用于Unity等引擎。本文介绍了在Unity中安装和使用Yarn Spinner的完整流程:首先通过Package Manager添加仓库并安装插件;然后创建Yarn Script和Project文件,配置对话系统;接着编写Yarn脚本定义对话内容,并展示运行效果;最后讲解了按键控制和多语言本地化设置。该工具采用类似剧本的简洁格式,支持分支对话、条件逻辑等功能,能有效提升游戏叙事的开发效率。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2214

Java面试题2——==和equals

一、==和equals的区别 ==可以用来比较基本类型和引用类型,分别判断内容和内存地址 equals只能用来比较引用类型,它只判断内容。该函数存在于 java.lang.Object java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号比较 2.复...

huiyanfreeflying的博客 269

2025年全国青少年信息素养大赛复赛真题(算法创意实践挑战赛C++初中组试卷1:带解析)(7月6日试卷)

2025年全国青少年信息素养大赛复赛真题(算法创意实践挑战赛C++初中组试卷1:带解析)(7月6日试卷)

王老师青少年编程 1959

嵌入式通信协议框架的四层架构设计与实现

本文详细介绍一种模块化的嵌入式通信协议框架设计,采用四层架构:硬件抽象层统一管理数据收发与缓冲,隔离硬件差异;协议管理层通过特征识别自动路由多协议数据,支持动态扩展;协议处理层独立实现各协议解析/构建,确保校验安全与零拷贝效率;应用层采用表驱动模式处理业务逻辑,与协议细节解耦。 该架构已应用于工业控制等领域,具备强类型安全、高扩展性和平台无关性特点,显著提升复通信场景下的开发效率与系统可靠性。提供完整代码实现与设计要点分析,助力开发者构建高效通信栈。

Bit_Dong的博客 2464

picture 元素结合 srcset 和 sizes 属性如何实现分辨率与视口自适应的图像加载?

想象一下,你精心开发的网页,图片精美绝伦,却因为加载速度慢让用户频频摇头;又或者用户在不同设备上浏览,图片要么模糊不清,要么体积过大浪费流量。作为前端工程师,这样的场景是不是让你倍感焦虑?别担心!`picture` 元素搭配 `srcset` 和 `sizes` 属性,就像一剂“布洛芬”,能快速缓解图像加载优化的“头疼”问题。今天,咱们就来聊聊这三个属性如何协同工作,实现分辨率与视口自适应的图像加载,让你的网页在各类设备上都能“轻装上阵”、颜值在线。

前端大白话 809

【AUTOSAR-E2E】-1.4-详述E2E Transformer解决方案

共13页精讲 目录 1“Data Transformation”介绍 1.1 基于SOME/IP Transformer 1.2 基于COM Based Transformer 2 ComXf(COM Based Transformer)介绍 2.1 ComXf(COM Based Transformer)功能规范 2.2 ComXf(COM Based Transformer)提供的服务 2.3 配置注意事项 3 E2EXf(E2E Transformer)介绍 3.1 E2EX...

「汽车电子助手」的博客 4700

响应式图片的工程化实践:srcset 与 picture

用户可能不会注意到图片加载很快,但一定会注意到图片加载很慢。响应式图片优化,是对用户体验最深情的告白。

wuhen_n的博客 384

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vc MFC picture控件 yuv图像缩放 方法

在vs2008 下,MFC程序的picture控件上ddraw显示yuv图像,目前因为ddraw默认是显示图像原始大小的,即picture控件中只能显示一部分图像,还有一部分显示不出来,为了解决这个问题,对yuv图像进行缩放,当鼠标双击picture控件时,弹出另外一个对话框,在这个对话框上进行图像缩放;   1)根据图像的分辨率及图像的size,弹出的对话框必须加入滚动条,不然有图像看不到;

smilestone322的专栏 4191

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

如何用画中画Chrome扩展提升40%多任务效率:告别标签页切换的困扰

你是否曾经在观看在线课程时,需要频繁切换到代码编辑器?或者在处理文档时,不得不暂停正在追的剧集?这种不断切换标签页的操作不仅打断工作流,更消耗宝贵的注意力资源。画中画Chrome扩展正是为解决这一痛点而生,它能将视频从网页中"剥离"出来,悬浮在屏幕任意位置,让你真正实现多任务并行处理。 ## 用户故事:三个典型场景的痛点与解决方案 ### 故事一:程序员小张的学习困境 **情境描述**:小张正

gitblog_00192的博客 324

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

关于equals的面试题

== 和 equals 的区别是什么? ==比较的是内存中的地址,如果是整数型的则比较的是值。 equals()如果是继承自Object类的话,也是比较比较内存地址,但是类似于String和Integer 都已经重写了这个方法。 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 一般来说,如果==和equals()相等,hashCode()也要相等(反之不亦然)...

程序员大航子 1456

面试题 之(==和 equals的比较)

1、== 可以去判断基本数据类型,也可以判断引用类型。 2、== 如果判断基本类型,判断的是值是否相等。 3、如果判断引用数据类型,判断的是地址是否相等,即判断是否是一个对象。 equals 是Object类中的方法,只能判断能引用类型 1、默认判断地址是否相等,子类中往往重写该方法,用于判断内容是否相等。 注:怎么看equals的原码: ctrl + B 重写是对父类的方法进行改进,子类还需要使用改进后的方法。 ...

chenchw的博客 650

==和equals的区别(面试题)

一:==的用法 1)基本数据类型(byte,short,char,int,long,float,double,boolean)之间的比较需要用(==),因为比较的是值 2)引用数据类型(接口,类,数组)之间用(= =),比较的是内存地址,所以除非是同一个new出来的对象,他们的比较后是true,否则就是false,因为new一次,就会重新开辟一个新的堆内存空间 二:equals的用法 1)java...

l13880647015的博客 804

面试基础整理(一)---Java中==和equals的区别

最近开始回头复习Java基础内容,在遇到==这个关系运算符和equals运算符时,发现了很多有趣的现象。 代码如下: //基本数据类型的比较 int num1 = 10; int num2 = 10; System.out.println(num1 == num2); //true //引用数据类型的比较

chance2015的博客 2万+

Java经典面试题: == 和 equals( )的区别

1. == 的用法 == 是一个运算符 作用域: 可以使用在基本数据类型变量和引用类型变量中 1.如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定类型要相同) public class Temp { public static void main(String[] args) { int i = 10; int j = 10; double d = 10.0; System.out.println(i ==

司天宏的博客 1832

JAVA面试题-小结-----equals()和==的区别小结

== 在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值:(== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作);   Object类中equals方法源代码: public boolean equals(Object obj)   {       return th...

菜鸟程序员成长路 4263

Java经典面试题——equals和==的区别

==是一个比较运算符 (1) ==:既可以判断基本类型,又可以判断引用类型 (2) ==:如果判断基本类型,判断的是值是否相等 (3) ==:如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象 equals是Object类中的方法 (4)equals:只能判断引用类型 (5)默认判断地址是否相等,子类中往往重写了该方法(后面结合源码分析),用于判断内容是否相等,比如Integer,String

m0_66908465的博客 3834

java面试题之equals和==的区别

equals和==的区别 这已经是一个老生常谈的话题了,最近有工作了三四年的朋友去面试,面试官还是问到了这个问题,这好像已经成为java基础部分必问的一个问题了,在这里我也结合了网上的一些细节,谈谈自己的看法。 首先来看一下实例 运行结果如下 我们再来看看这个 运行结果如下 可以看到s1和s2打印出来的值是一样的,但是"=="比较返回的结果却是false,而equals返回的结果却是true,这是因为双等号比较的其实是地址值。 解析 "=="比较的解析 在编译String s1=“song"的时候其

好想去买菜的博客 2万+

面试题~ equals() 和 == 区别

= = :运算符 可以使用在基本数据类型变量和引用数据类型变量中 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同) 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体,补充: == 符号使用时,必须保证符号左右两边的变量类型一致。 equals()的使用: 是一个方法,而非运算符 只能适用于引用数据类型 O...

luo1454925298的博客 606
上一篇: 每天一道面试题-String,StringBuffer,StringBuilder的区别
下一篇: 每天一道面试题-谈谈ArrayList和LinkedList的区别
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值