Home  >  Article  >  Java  >  Is String an object or a class in Java? Detailed explanation of String in java

Is String an object or a class in Java? Detailed explanation of String in java

零下一度
零下一度Original
2017-05-22 11:01:212024browse

There are many people who don’t understand the definitions of objects and classes. For example, in Java, is String an object or a class?

Some people say that String can be said to be both a class and an object.

In fact, it’s okay for him to say so. Classes and objects are actually abstract concepts. We can group a class of things together and give it a name, what class, and what it does specifically, but we can also say that it is an object...

So String can be said to be a class, It can also be said to be an object.

But if you want to dig deeper, for example, the editor did a deep dive and found that in java.lang, this is a basic class. You can take a good look at the source code in the lang package.

public final class String extends Object implements Serializable,Comparable < String >,CharSequence

In java.lang, the String class represents a string. All string literals in Java programs, such as "abc", are implemented as instances of this class.

Strings are immutable; their values ​​cannot be changed after creation. String buffers support mutable strings. Because String objects are immutable, they can be shared. For example:

  String str =“abc”;

is equivalent to:

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

Here are some examples of how to use strings:

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

The String class includes methods for checking individual characters of a sequence, Used to compare strings, to search strings, to extract substrings, and to create a copy of a string that translates all characters to uppercase or lowercase. Case mapping is based on the Unicode standard version specified by the Character class.

The Java language provides special support for the string concatenation operator (+) and for converting other objects to strings. String concatenation is implemented through the StringBuilder (or StringBuffer) class and its append method. String conversion is implemented through the toString method defined by and inherited by all classes in ObjectJava. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, Java Language Specification.

Unless otherwise noted, passing null parameters to a constructor or method in this class will cause a NullPointerException to be thrown.

A String representing a string in UTF-16 format where supplementary characters are represented by doubles (see section Unicode Character Representations in the Character class for more information). Index values ​​refer to char code units, so supplementary characters use two positions in a String.

The String class provides methods for handling Unicode code points (i.e., characters), in addition to those for handling Unicode code units (i.e., char values).

So if you encounter any problems in the future, friends can check the documentation and the source code. You can also know it is a class by checking the documentation, and you can quickly understand what it is by looking at the source code.

In the future, you can use a method similar to this to see whether something is an interface, class, etc.

Class: It is a subjective abstraction and definition of a physical object. The object is the specific instance generated by this class. String s=new String(); where String is a class and s is generated by the String class. Object. .

Construction methodSummary

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,使其表示字符数组参数中当前包含的字符序列。

To summarize (pz): class, is the The subjective abstraction and definition of a physical object, the object is the specific instance generated by this class. String s=new String();

String here is a class, and s is an object generated by the String class. . In essence, String is a class, but if you want to use it, you can instantiate an object.

String is a very special class! Different from basic types

[Related recommendations]


1.

Share an example tutorial of String class in Java

2.

Summary of the example tutorials of the String class in Java

3.

What are the common methods of the String class in Java? Summarize the common methods of String class in Java

4.

Share some source code interpretation of java String

The above is the detailed content of Is String an object or a class in Java? Detailed explanation of String in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn