0 0

java中string类concat方法和+的区别5

请问java中string类concat方法和+的区别
2010年5月06日 18:12

4个答案 按时间排序 按投票排序

0 0

采纳的答案


都可以将2个字符串拼接到一块,这一点2这功能相同。

但是 + 还可以将 字符串与非字符串(比如数字),拼接在一起,成为字符串。

2010年5月06日 18:28
0 0

如果多线程操作String ,+ 和concat应该是有区别的。

2010年5月07日 11:24
0 0

“+”

在java内部是对+进行了重载,在处理String的过程中要创建一个StringBuffer对象,用StringBuffer对象的append方法对字符串进行连接,最后调用toString方法返回String字符串。
http://book.csdn.net/bookfiles/890/10089027994.shtml

2010年5月07日 09:49
0 0

要看看他们之间的区别,我们可以从源码分析两者的区别,
concat是String方法,String重载了“+”操作符(提醒下:Java不支持其他操作符的重载)。
concat源码:

  public String concat(String str) {	
int otherLen = str.length();	
if (otherLen == 0) {	    
return this;
	}
	char buf[] = new char[count + otherLen];
	getChars(0, count, buf, 0);
	str.getChars(0, otherLen, buf, count);
	return new String(0, count + otherLen, buf);
    }



源码中对String中+操作符的描述如下
引用
The Java language provides special support for the string concatenation operator ( + ), and for conversion of  other objects to strings. String concatenation is implemented  through the StringBuilder(or StringBuffer) class and its append method.

简单的概括下:String本身是不变的对象,但是string的+号操作符是通过StringBuilder或StringBuffer(可以通过反汇编class文件,看到使用的StringBuilder来实现的。)
=========================
以上两个方法中都有开辟(new)以及销毁堆空间的操作,打大量的string操作导致效率很低。
所以在大量操作string字符串时,StringBuilder的append方法是最好的选择

2010年5月06日 18:51

相关推荐

    java基础String类选择题练习题

    综上所述,这份Java基础String类选择题练习题主要覆盖了String和StringBuffer类的基础概念、基本操作方法以及它们之间的区别等内容。通过这些练习题,学习者可以更好地理解和掌握这两个类的使用方法,为实际编程工作...

    java中的String类常用方法解析(一)

    在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...

    java String类常用方法练习小结

    【Java String类常用方法详解与实战】 在Java编程语言中,`String`类是一个非常重要的类,它代表不可变的字符序列。所有的字符串字面值(例如:"abc")都是`String`类的实例。本篇文章将深入探讨`String`类的一些...

    Java中String类的方法及说明.doc

    以下是对标题和描述中提到的Java String类方法的详细说明: 1. **构造函数**: - `String(byte[] bytes)`: 这个构造函数用于创建一个新字符串,该字符串包含给定字节数组表示的字符。字节按照平台的默认字符集解码...

    java自制string类例程

    4. **方法**:自定义的String类需要实现类似Java内置String类的方法,如`length()`、`charAt(int index)`、`substring(int beginIndex, int endIndex)`等,以便于操作和访问字符串。 5. **字符串连接**:模拟`+`...

    Java 中 String 类的常用方法

    Java中的String类提供了丰富的字符串操作方法,这些方法覆盖了字符串的创建、修改、比较、查找以及格式化等多个方面,极大地方便了Java程序中对字符串的处理。 1. `charAt(int index)`方法用于返回字符串中指定索引...

    java中String类的知识

    ### Java中String类的知识 #### 一、String 类概述与创建方式 在Java语言中,`String`类是用于表示不可变字符序列的核心类之一。它代表了一个字符串对象,一旦被初始化后,其内容不能被改变。这被称为不可变性...

    Java的String类

    `String`类在Java中扮演着至关重要的角色,其丰富的功能和方法使得处理文本数据变得既方便又高效。理解并熟练掌握`String`类的构造函数和各种操作方法,对于任何Java程序员来说都是必不可少的技能。通过本文的介绍,...

    Java中String类的方法及说明.pdf

    Java中的String类是Java语言中最基础且至关重要的类之一,它代表不可变的字符序列。在Java中,字符串被广泛用于各种数据处理和文本操作。本文将深入探讨String类的一些关键方法及其用法。 首先,让我们看看String类...

    java String类的实现

    Java中的`String`类是编程中最常用的类之一,它在Java的`java.lang`包中,无需显式导入即可使用。`String`类代表不可变的字符序列,这意味着一旦创建了`String`对象,它的值就不能改变。这个特性使得`String`在处理...

    java String 使用详解

    Java String 使用详解是 Java 编程语言中最基础也是最重要的一部分,对于 Java 程序员来说,了解 String 类的使用方法是必不可少的。本文将详细介绍 Java String 的使用方法,包括 String 对象的初始化、字符串的...

    深入了解java 中的String

    深入了解Java中的String类是至关重要的,因为String在Java编程中占据着极其重要的位置。下面将对给定的信息进行深入分析: ### 1. String 类是 final 的,不可被继承 在Java中,`String` 类被声明为 `final` 类型...

    Java中String类.pdf

    Java中的String类是编程中最常用的数据类型...总之,Java中的String类是处理文本数据的基础,理解其构造方法和常用方法对于提升编程效率和代码质量至关重要。程序员需要熟悉这些特性,以便在实际项目中有效地利用它们。

    JAVA中String类与StringBuffer类的区别

    在Java编程语言中,String类和StringBuffer类是处理字符串的两种主要方式,它们各自有不同的特性和适用场景。理解二者的区别对于编写高效、优化的代码至关重要。 1. **String类**: - **不可变性**:String类的...

    JAVA【第5章:面向对象基础】_String类的常用方法.rar

    以上只是`String`类众多方法中的一部分,实际开发中还有其他诸如`startsWith()`, `endsWith()`, `contains()`等方法,以及与`StringBuilder`和`StringBuffer`类配合使用的相关方法。理解和熟练掌握这些方法,能让你...

    面试题:Java String类常见操作和用法

    Java String类是Java编程语言中的核心类,它用于表示和操作字符串。由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java ...

    String类方法使用例子

    在Java编程语言中,`String` 类是处理字符串的核心类,它包含了大量的方法,使得对字符串的操作变得简单而高效。本篇文章将详细讲解`String`类的一些常用方法,并通过具体的例子来展示它们的用法。 1. **创建String...

    一文带你吃透Java中的String类.rar

    Java中的String类是编程中最常用的数据结构之一,它在日常开发中扮演着至关重要的角色。本文将深入探讨String类的特性、构造、方法以及在内存中的表现,帮助你全面理解这个核心类。 首先,String类在Java中是不可变...

    Java课件第三讲---Math类String类和输入输出

    标题中提及的"Math类String类和输入输出"是Java编程语言中非常基础且重要的概念。在Java中,Math类是所有数学运算的集合,而String类则是用于处理字符串的工具。输入输出则是指程序与外部世界交换数据的过程,这是...

Global site tag (gtag.js) - Google Analytics