最近一次面试,遇到了一些Java的基础问题,关于“==”和equal()的区别,现在整理一下,免得再次忘记。一、两者的介绍1:关于操作符“==”如果是基本类型,比较的就是两者的值是否相等。如果是引用类型那么比较的就是对象的引用是不是相等。2:关于equal()它是Object类的一个方法,故所有继承它的Java类都有这个方法,但有区别的是,有些类重写了这个方法,有些类没有重写,这就使equal()
转载 2023-08-11 08:53:58
103阅读
在 Android 开发,重写 `equals` 方法是一个常见的任务,特别是当你需要在类处理对象比较时。一个有效的 `equals` 实现可以确保对象在集合的唯一性、正确性和一致性。接下来,我将详细记录在 Android 重写 `equals` 方法的过程,包括环境配置、编译过程、参数调优、定制开发、性能对比和安全加固等几个部分。 ### 环境配置 首先,在安卓开发环境配置项目。确
原创 7月前
16阅读
# Python的equals方法 在Python,equals方法是用来判断两个对象是否相等的一个重要方法。在Python,equals方法通常被表示为`__eq__`,它是一种魔术方法(magic method),用于自定义对象之间的比较操作。通过重写`__eq__`方法,我们可以自定义对象的相等性比较规则,而不是简单地比较对象的引用。 ## 为什么需要equals方法? 在Pyt
原创 2024-05-18 04:43:21
19阅读
 一、String类的理解和创建对象 String 对象用于保存字符串,也就是一组字符序列。字符串常量对象是用双引号括起的字符序列。例如:"你好”、"12.97"、"boy"等。字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节。String类较常用构造方法(其它看手册)。String s1 = new String(); String s2 =
ReferenceEquls 是真正比较两个对像是否相等,他比较的是堆地址 而Equls 他实现比较的不是对像,比较的是值因为他被很多对像重载了
转载 2023-06-16 11:25:22
30阅读
Optional和Stream虽然都是Java8的新特性,但据我观察Optional的使用频率远低于Stream,究其原因是大家对它有误解。很多人以为Optional是用来“消除”空指针的,所以当他们发现即便使用了Optional还会抛异常时,感到非常地失望,甚至是愤怒。比如当value确实为null时,直接调用Optional#get()会抛出NoSuchElementException://
原创 2023-02-06 18:12:34
83阅读
文章目录前言一、stream流概述?二、stram流分类 1.顺序流 2.并行流3.小结三、stream使用总结 前言提示:这里可以添加本文要记录的大概内容:stream学习笔记提示:以下是本篇文章正文内容,下面案例可供参考一、stream概述?java8新功能,将要处理的元素集合看成一种流的形,在流的过程借助Stream api对流的元素进行操作,Stream可以由数组或集合创建
转载 2023-09-26 17:49:43
93阅读
(一)学习总结 1.思维导图:2.当程序中出现异常时,JVM会依据方法调用顺序依次查找有关的错误处理程序。可使用printStackTrace 和getMessage方法了解异常发生的情况。阅读下面的程序,说明printStackTrace方法和getMessage 方法的输出结果分别是什么?并分析异常的传播过程。 答:getMessage方法输出的是:“Exception thrown in m
转载 2024-08-05 21:01:00
33阅读
唯一重要的是如果你正在使用OuterClass.this.method()例如class OuterClass { void method() { } class InnerClass { void method() { OuterClass.this.method(); // not the same as method(). } } }这些结构与生成的字节码完全没有区别,因此没有性能影响。 如
Matcher方法如下:Matcher方法如下: Matcher appendReplacement(StringBuffer sb, String replacement) 将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里。 StringBuffer appendTail(StringBuffer
转载 2023-08-08 17:49:34
75阅读
最开始看到题目是懵的,不知道怎么下手。等到后面理清的思维逻辑后,基本上也就直接填代码了。大概流程是:先初始化这个题目里面所需要的变量,然后是用面向过程里的选择语句switch来提供用户选择的选项,在每个选项里设置方法,运用面向对象学到的基础内容来调用方法,具体代码如下:public class FoodList {//初始化食品清单 String name;// 菜名 double price
转载 2023-12-06 18:07:04
56阅读
一、概述很多人在面试的时候有可能就会被问到上面这个问题,在java,a=a+b和a+=b是不是一样的,相信绝大多数人,第一眼的答案就是一样的,至少结果上应该是一样的,但是你冷静下来想一想呢,这里面肯定有坑的啊,我们今天就来看一下。二、代码验证我们先来看一下a=a+b的情况,代码如下:从图中可以看出出现了错误,根本无法运行。报错原因我也贴出来了,说是需要byte类型,但是确实int类型,这里因为a
前面已经介绍过自定义View组件的开发,自定义View组件与Android系统提供的View组件一样,即可在Java代码中使用,也可在XML界面布局代码中使用。当在XML布局文件中使用Android系统提供的View组件时,开发者可以指定多个属性,这些熟悉可以很好地控制View组价的外观行为。如果用户开发的自定义View组件也需要指定属性,就需要属性资源的帮助了。属性资源文件也放在/res/val
建造者模式和装饰模式 建造者模式和装饰模式建造者模式装饰模式 建造者模式建造者模式的(Builder),将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的标识。简单的用生产两个大小不同的零件举例Product—零件类,由2个部件组成public class Product { private String partA; private String partB;
     今天和大家聊一下java的 “try with resource”用法。通过“try-with-resource”实现资源自动管理,是 java 7的一个重要特性。   (译者注:此处resource,指程序运行打开的资源,比如:java stream、socket 等) 目录    1.try
在本文中,我们将java.lang.StackOverflowError通过查找不同的代码示例来讨论,以及如何避免它们。更确切地说,StackOverflowError这是Java不允许捕获的错误,例如,堆栈空间不足,因为它是人们可能遇到的最常见的运行时错误之一,因为它的引发条件是在几乎每个模块中直接或间接实现的。java.lang.StackOverflowError的主要原因是我们没有为递归函
转载 2023-07-24 12:46:56
239阅读
常用类简介ArraysArrays 常用方法Arrays 编程实例StringBuilderCalendarCalendar 编程实例DateDate 编程实例MathMath 编程实例SystemSystem 使用示例RandomRandom 编程实例 简介Java 类库提供了不少常用类,可以在编程中直接调用使用。本节讲重点讲解 Arrays、StringBuilder、Calendar、Da
转载 2023-08-20 10:14:37
76阅读
一、java异常的分类:1.Error当程序发生不可控的错误时,通常做法是通知用户并中止程序的执行。与异常不同的是Error及其子类的对象不应被抛出。Error是throwable的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题。Error由Java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等。程序对其不做处理。2.ExceptionException一般分为
转载 2024-01-25 18:11:57
31阅读
数据结构的队列了解以下,"先进先出"是队列的最大的特点,也就是只能在头部访问一个元素,在尾部添加一个元素。还有一种叫做双端队列。可以有效地在头部和尾部同时添加或删除元 素。 不支持在队列中间添加元素。在 JDK6 引人了 Deque 接口, 并由 ArrayDeque 和 LinkedList 类实现。这两个类都提供了双端队列, 而且在必要时可以增加队列的长度。在并发包下还提供了有限队列和有限
转载 2023-10-20 22:02:19
161阅读
  • 1
  • 2
  • 3
  • 4
  • 5