`

String 引用类型与基本类型区别

 
阅读更多

  String a="A";
  String b="A";
  String c=new String("A");
  System.out.println(a==b);//true
  System.out.println(a==c);//false

 

  我认为String a="A"; 这种形式声明的变量在比较的时候将会隐式调用equals方法,而new出来的要自己手动去调用

  但是我还不明白,两个对象相互比较的时候是怎么判断的
  这个是String.equals方法:

public boolean equals(Object anObject) {
if (this == anObject) {
    return true;
}
if (anObject instanceof 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;
    }
}
return false;
    }

 

分享到:
评论

相关推荐

    java中基本类型及string类型

    ### Java中的基本类型与String类型详解 在Java编程语言中,数据类型分为两大类:基本类型(primitive types)和引用类型。基本类型直接存储值,而引用类型则存储指向对象的引用。本文将深入探讨Java中的基本类型...

    C#中引用类型和值类型的区别

    引用类型在C#中主要包括类(class)、接口(interface)、数组、委托(delegate)以及字符串(string)。当创建一个引用类型的变量时,实际上是在堆上分配内存,并将该内存地址存储在栈上的变量中。这意味着,当我们...

    跟我学习javascript的基本类型和引用类型

    在JavaScript编程中,理解基本类型和引用类型的区别非常重要,因为这关系到变量的存储、操作以及内存管理等核心概念。在给定的内容中,首先介绍了JavaScript中的基本数据类型和引用数据类型的定义、区别和联系,并...

    C#_String与string的区别

    本文将深入探讨C#中`String`与`string`之间的区别,帮助开发者更好地理解和使用这两种类型。 #### 1. 基本定义 首先,`string`是C#中的一个关键字,它实际上是`System.String`类型的别名。这意味着`string`并非C#...

    java教程课件5基本数据类型与引用类型

    1. **基本数据类型与引用类型** - Java的基本数据类型包括布尔型`boolean`、字节型`byte`、短整型`short`、整型`int`、长整型`long`、字符型`char`、浮点型`float`和双精度浮点型`double`。这些类型占据固定大小的...

    C#引用类型的赋值 类的赋值

    在C#中,除了基本类型(如`int`、`char`、`float`等)之外的所有类型都属于引用类型。引用类型包括但不限于类、数组、接口、委托等。这些类型的变量实际上并不直接存储数据本身,而是存储一个指向实际数据所在位置的...

    第九课 基本类型与引用类型1

    了解基本类型和引用类型的区别对于优化代码性能、避免潜在的错误以及更好地理解和调试代码至关重要。在前端开发中,合理地使用这两种类型能够帮助我们创建更加高效和健壮的应用程序。记住,持续学习是提升技能的关键...

    Java 之 String 类型

    7. **String与基本类型的转换** - `Integer.parseInt(String s)`/`Double.parseDouble(String s)`:将字符串转换为整型/浮点型数值。 - `String.valueOf(int i)`/`String.valueOf(double d)`:将整型/浮点型数值...

    C#程序设计-3期(KC008) KC008110100024-值类型和引用类型的最基本的区别是什么?.docx

    这些类型包括内置的基本类型,如`int`、`char`、`bool`等,以及自定义的结构体(`struct`)。当值类型变量被赋值或传递时,实际上是复制了该变量的值。因此,对一个副本进行的操作不会影响到原始变量。这种行为有时...

    理解 C#值类型与引用类型 (2).pdf

    在C#编程中,理解值类型和引用类型是至关重要的,因为这直接影响到代码的运行效率和健壮性。本文将深入探讨这两种类型的区别、内存布局以及如何在实践中正确使用。 1. 通用类型系统(Common Type System, CTS) CTS...

    训练师脚本:《使用C#中的枚举、结构、值类型和引用类型

    **值类型与引用类型的比较**: - **性能**: - 值类型通常更快,因为它们直接存储在栈中。 - 引用类型通常更慢,因为它们存储在堆中并且涉及到额外的间接寻址开销。 - **内存消耗**: - 值类型可能会消耗更多内存...

    值类型和引用类型Demo

    在编程领域,值类型和引用类型是两种基本的数据类型,它们在内存管理和数据处理上有着显著的区别。了解这两种类型的概念和特性对于编写高效、安全的代码至关重要。 值类型(Value Type)主要包括整型(如int)、...

    C#中引用类型和值类型

    C#中的引用类型和值类型 C# 中的类型系统可以分为两大类:引用类型(reference type)和值类型(value type)。了解这两种类型的差异是非常重要的,因为它们在内存中的存储方式、赋值方式和使用场景都有所不同。 ...

    值类型和引用类型补充

    值类型和引用类型在内存管理上有显著区别。值类型通常在栈上分配内存,而引用类型在堆上分配。栈内存管理速度快,但空间有限;堆内存可以动态分配,空间大,但管理相对复杂,可能导致垃圾回收。 在性能方面,值类型...

    winform 值类型引用类型赋值源码

    首先,我们要明白值类型与引用类型的基本概念: 1. 值类型:值类型包括基本数据类型(如int、double、bool)以及结构(struct)。它们在内存中直接存储其值。当一个值类型变量被赋值时,实际上是拷贝了该值到新的...

    浅析Java引用类型和方法参数传递

    通过具体实例,我们将揭示值类型与引用类型之间的差异,并解释在实际编程过程中可能遇到的一些常见困惑。 #### 二、Java的数据类型 Java语言支持两种主要的数据类型:**值类型**和**引用类型**。值类型主要包括基本...

    JavaScript数据类型之基本类型和引用类型的值

    基本类型包括如Undefined、Null、Boolean、Number和String,这5种基本类型数据类型是按值访问的,因此可以操作保存在变量中的实际的值;引用类型类型的值是保存在内存中的对象。与其他语言不同,JavaScript不允许...

    JavaScript基本数据类型和引用类型的区别详解

    前两天看到kraaas大神的关于基本数据类型和引用类型的区别的文章觉得写得非常不错,就想着在其基础上加上自己平时看到的一些知识点和理解,所以就有了以下的文章 js基本数据类型包括:undefined,null,number,boolean...

    String作为形式参数传递给方法的情况

    Java 中 String 作为方法参数的传递机制详解 在 Java 语言中,String 类型的变量作为方法参数时,表现出了...同时,在 Java 中,基本类型和对象类型的参数传递机制是不同的,前者是“值传递”,后者是“引用传递”。

Global site tag (gtag.js) - Google Analytics