java字符串常量相关知识
-
Java 字符串常量池在 JDK 1.7 之前,HotSpot 虚拟机中的字符串常量池都在方法区中,用永生代实现。JDK 1.7 及以后的版本,字符串常量池移到了堆里。JDK 1.6 的 String.intern 方法会将首次遇到的 String 对象复制到永久代,并返回这个对象的引用。JDK 1.7 的 String.intern 方法不再复制,而是记录首次出现的 String 对象的引用。以下用 JDK 1.8 实验探究字符串常量池。// test1String s1 = "red";String s2 = "red";System.out.println(s1 == s2); // true// test2String s3 = new String("red");String s4 = new String("red");System.out.println(s3 == s4); // false// test3System.out.println(s1 == s3); // false// test4System.o
-
初探Java字符串String印象 String是java中的无处不在的类,使用也很简单。初学java,就已经有字符串是不可变的盖棺定论,解释通常是:它是final的。 不过,String是有字面量这一说法的,这是其他类型所没有的特性(除原生类型)。另外,java中也有字符串常量池这个说法,用来存储字符串字面量,不是在堆上,而是在方法区里边存在的。 字面
-
String类及字符串常量池的学习String 是Java中常用的基础类之一,用来表示字符串类型,但是相较于其他对象还是比较特殊的,它与字符串常量池(String Pool)密切相关。JVM规范中字符串常量池是在方法区上一个驻留字符串(Interned Strings)的位置,是为了优化而专门供字符串存储的一块区域,这个区域在整个虚拟机中是共享的,而在JDK7及以后的版本被移到了堆空间中。String 是如何被创建的String 创建对象有两种方式:字面量赋值String s = "Hello World";new关键字创建String s = new String("Hello World");这两种方式表面看起来没有任何区别,对后续的使用也不会有任何影响,但是真实存储还是有所不同的。先看字面量赋值的方式,下面摘取了字节码的重要部分。Constant pool: #1 = Methodref #4.#23 // java/lang/Object."<init>":()V #2 = St
-
PHP 字符串变量PHP 字符串变量字符串变量用于存储并处理文本。PHP 中的字符串变量字符串变量用于包含有字符的值。在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:实例1234<?php $txt="Hello world!"; echo $txt; ?>注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。现在,让我们来看看一些常用的操作字符串的函数和运算符。PHP 并置运算符在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。下面的实例演示了如何将两个字符串变量连接在一起:实例12
java字符串常量相关课程
java字符串常量相关教程
- Java 字符串 在 Java 基本数据类型一节中,我们已经知道 Java 中有两大数据类型:一个是基本数据类型,另一个是引用数据类型。字符串(String)便属于引用数据类型。字符串在 Java 程序中无处不在,其实我们在第一个 Java 程序中就已经使用过了字符串,打印语句中双引号中的Hello World就是一个字符串:System.out.println("Hello World");本小节我们将介绍字符串的基础知识,告诉你如何创建一个字符串,也会讲到 Java 13支持的多行字符串的创建方法和注意事项,还会介绍很常用的字符串的连接操作,最后我们也会着重讨论字符串的一个重要特性:不可变性。需要注意的是,String是在java.lang包中定义的内置类,了解它的相关操作需要面向对象的前置知识,为了减少初学者的困扰,字符串的相关操作不会在本小节讨论。我们将在完成面向对象的学习后专门讲解String类。
- 2. 字符串字面量类型 字符串字面量类型允许你指定字符串必须的固定值。let protagonist: 'Sherlock'protagonist = 'Sherlock'protagonist = 'Watson' // Error, Type '"Watson"' is not assignable to type '"Sherlock"'代码解释: 变量 protagonist 被声明为 'Sherlock' 字面量类型,就只能赋值为 'Sherlock'。type Easing = 'ease-in' | 'ease-out' | 'ease-in-out'class UIElement { animate(dx: number, dy: number, easing: Easing) { if (easing === 'ease-in') {} else if (easing === 'ease-out') {} else if (easing === 'ease-in-out') {} else { // Error, 不应该传递 null 或 undefined } }}let button = new UIElement()button.animate(0, 0, 'ease-in')button.animate(0, 0, 'uneasy') // Error, 'uneasy' 不被允许代码解释:第 1 行,通过类型别名,声明了类型 Easing 为 'ease-in' | 'ease-out' | 'ease-in-out'这样三个字符串字面量构成的联合类型。第 4 行,你只能从三种允许的字符中选择其一来做为参数传递,传入其它值则会产生错误。字符串字面量类型还可以用于区分函数重载:function createElement(tagName: 'img'): HTMLImageElementfunction createElement(tagName: 'input'): HTMLInputElementfunction createElement(tagName: string): Element {}代码解释:如果参数 tagName 为 'img' 类型,返回值类型为 HTMLImageElement; 如果参数 tagName 为 'input' 类型,返回值类型为 HTMLInputElement。
- 2.2 插值字符串 GString 在 Groovy 中有 2 种字符串,一种是我们上面写的 String[java.lang.String]这类字符串跟 Java 一样不能插值,还有一种是 Groovy 的插值字符串 GString,这类字符串可以实现插值。所谓插值,就是用 ${变量名}读取该变量的值,而拼接起来的字符串。如下:class Example { static void main(String[] args) { def a = 'Gradle专题'; def b = "${a} Groovy语言基础"; //插值字符串 GStringImpl println(a.class); println(b.class); println(b); } }它的运行结果为:class java.lang.Stringclass org.codehaus.groovy.runtime.GStringImplGradle专题 Groovy语言基础从运行结果可以看出,字符串 a 是一个 Java 字符串,字符串 b 它是一个插值字符串 GStringImpl,它继承自 GString。上面代码中${a}就是读取到 a 的值为 Gradle 专题。
- 2.1 字符串 String 在 Groovy 中,字符串较 Java 中比较特殊,在 Java 中我们用单引号(’’)来表示 char,用双引号("")表示字符串。但是在 Groovy 中字符串不仅可以用双引号 (""),而且单引号 (’’),三引号 ("’’")也可以。我们看下下面这个例子:class Example { static void main(String[] args) { String a = '单引号'; String b = "双引号"; String c = '''这是三引号 Gradle专题 Groovy语言基础'''; println(a); println(b); println(c); } }最终输出结果为:单引号双引号这是三引号 Gradle专题 Groovy语言基础我们发现三引号(’’’ ‘’’)其实还可以换行,多行字符串也可以用三引号(’’’ ‘’’)来引用。不像 Java 一样我们如果字符串换行还需要用“ + 和 \n”连接起来。
- 4. 字符串类型 双引号或者单引号表示字符串:let protagonist: string = "Sherlock Holmes"let partner: string = 'Dr. John Hamish Watson'使用模板字符串:let protagonist: string = 'Sherlock'let sentence: string = `华生是${protagonist}的朋友、助手和室友。`模板字符串使用反引号来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法 ${expression} 的占位符,占位符内可以写变量名,模板字符串会进行变量值的解析。
- 2. 字符串 字符串类型的数据表示一段文本,使用单引号、双引号创建,例如:单引号字符串 ‘hello’双引号字符串 “hello”字符串通常用于文本的连接,例如:连接两个字符串,形成一个新的字符串>>> 'Hello' + 'World''HelloWorld'连接三个字符串,形成一个新的字符串>>> 'Hello' + ':' + 'World''Hello:World'
java字符串常量相关搜索
-
j2ee
j2ee是什么
jar格式
java
java api
java applet
java c
java jdk
java list
java map
java script
java se
java socket
java swing
java switch
java web
java xml
java 程序设计
java 多线程
java 环境变量