首页 Java java教程 java中String是对象还是类?详解java中的String

java中String是对象还是类?详解java中的String

May 22, 2017 am 11:01 AM

有很多人搞不懂对象和类的定义。比如说java中String到底是对象还是类呢?

有人说String 既可以说是类,也可以说是对象。

其实他这么说也没问题, 类和对象其实都是一个抽象的概念。 我们可以把一类东西归集在一起,起一个名字,什么类,专门做什么事的,但是我们也可以说它是一个对象……

所以说String 既可以说是类,也可以说是对象。 

但是如果你要深究,比如小编就饿深究了一下,我发现在java.lang中,这是个基础类,你可以好好看lang包中的源码。

public final class String extends Object implements Serializable,Comparable < String >,CharSequence
登录后复制

在java.lang中,String类代表字符串。Java程序中的所有字符串文字,例如"abc",都被实现为此类的实例。

字符串不变; 它们的值在创建后不能被更改。字符串缓冲区支持可变字符串。因为String对象是不可变的,它们可以被共享。例如:

  String str =“abc”;
登录后复制

相当于:

   char data [] = {&#39;a&#39;,&#39;b&#39;,&#39;c&#39;};
     String str = new String(data);
登录后复制

以下是一些如何使用字符串的示例:

   System.out.println( “ABC”);
     String cde =“cde”;
     System.out.println(“abc”+ cde);
     String c =“abc”.substring(2,3);
     String d = cde.substring(1,2);
登录后复制

该类String包括用于检查序列的各个字符的方法,用于比较字符串,用于搜索字符串,用于提取子字符串,以及用于创建将所有字符翻译为大写或小写的字符串副本。案例映射基于Character该类指定的Unicode标准版本。

Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串。通过StringBuilder(或StringBuffer)类及其append方法实现字符串连接。字符串转换通过toString由ObjectJava中的所有类定义并由其继承的方法 实现。有关字符串连接和转换的其他信息,请参阅Gosling,Joy和Steele, Java语言规范。

除非另有说明,否则将null参数传递给此类中的构造函数或方法将导致NullPointerException抛出。

甲String表示在其中UTF-16格式的字符串增补字符由表示替代双(见节的Unicode字符表示在Character类的更多信息)。索引值是指char代码单位,所以补充字符在a中使用两个位置String。

的String类提供使用Unicode代码点(即,字符)处理,除了那些用于处理Unicode代码单元(即,方法char的值)。

所以以后遇到什么问题,小伙伴们可以查文档,看源码。查文档也可以知道它是类,看源码就可以快速的了解这个是啥。

以后你看一个东西是否是interface,class,等等都可以使用类似这种方法。

类: 是对一个实物的主观抽象以及定义, 对象 就是这个类所产生的具体的实例 ,String s=new String();这里的 String 是一个类,s是String类所产生的对象。。

构造方法摘要

String() 
          初始化一个新创建的 String 对象,使其表示一个空字符序列。 
String(byte[] bytes) 
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 
String(byte[] bytes, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(byte[] ascii, int hibyte) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length) 
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, int offset, int length, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] ascii, int hibyte, int offset, int count) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length, String charsetName) 
          通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, String charsetName) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(char[] value) 
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
登录后复制

总结一下(pz):类, 是对一个实物的主观抽象以及定义,  对象   就是这个类所产生的具体的实例 。String s=new String();

这里的  String 是一个类,s是String类所产生的对象。。本质上,String是一个类,可如果说你要使用它时就是可实例化一个对象。

String是一个很特殊的类!不同于基本类型

【相关推荐】

1. 分享Java中String类的实例教程

2. 总结Java 中String类的实例教程

3. Java中String类的常用方法是什么?总结Java中String类的常用方法

4. 分享java String部分源码解读

以上是java中String是对象还是类?详解java中的String的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根指南。下面我们分别通过例子和代码实现来讨论平方根在Java中的工作原理。

Java 中的完美数 Java 中的完美数 Aug 30, 2024 pm 04:28 PM

Java 完美数指南。这里我们讨论定义,如何在 Java 中检查完美数?,示例和代码实现。

Java 中的随机数生成器 Java 中的随机数生成器 Aug 30, 2024 pm 04:27 PM

Java 随机数生成器指南。在这里,我们通过示例讨论 Java 中的函数,并通过示例讨论两个不同的生成器。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。这里我们通过示例讨论简介、如何使用weka java、平台类型和优点。

Java 中的史密斯数 Java 中的史密斯数 Aug 30, 2024 pm 04:28 PM

Java 史密斯数指南。这里我们讨论定义,如何在Java中检查史密斯号?带有代码实现的示例。

Java Spring 面试题 Java Spring 面试题 Aug 30, 2024 pm 04:29 PM

在本文中,我们保留了最常被问到的 Java Spring 面试问题及其详细答案。这样你就可以顺利通过面试。

突破或从Java 8流返回? 突破或从Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

Java 中的时间戳至今 Java 中的时间戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的时间戳到日期指南。这里我们还结合示例讨论了介绍以及如何在java中将时间戳转换为日期。

See all articles