public class Test {
public static void changeStr(String str1
){
str1="welcome";
}
public static void main(String[] args) {
String str
="1234";
changeStr(str);
System.out.println(str);
}
}
// 输出:1234
上面这段代码, 注意其中的红色的两个变量.
首先说str .str变量存放的是对"1234"的字符串对象的引用地址.在调用
changeStr(str) 方法的时候,是str把引用地址传递给str1这个变量. 由于java中string 是只读的,所以无法修
改"1234"这个字符串对象的值.
str1="welcome"; 则是又创建了一个"welcome"的字符串对象.并修改str1的引用地
址.
而str还是指向原来的"1234"的地址. 所以结果是1234. 这个面试题的重点在于 考察 string对象的只读属
性. final class
分享到:
相关推荐
16.新特性9:String底层存储结构的变化 17.新特性10:创建只读集合 18.新特性11:增强的Stream API 19.新特性11:Optional提供的stream() 20.新特性12:多分辨率图像API 21.新特性13:全新的Http客户端API 22.新特性...
String类对象有这样一个重要特性:只读性,就是其内容一旦确定了就不可以更改。 在Java中,字符串可以由英文双引号(” ”)引起,字符串就是一个字符序列。例如:“This is a string.”。而由英文单引号(’’)...
- 如果只需要一个只读字符串,则使用`String`。 2. **性能考量** - 在大多数情况下,如果不需要线程安全,推荐使用`StringBuilder`而非`StringBuffer`,因为`StringBuilder`不包含同步开销,性能更高。 3. **...
#### `String`类的关键特性与方法 1. **字符串初始化**:可以通过多种方式创建`String`对象,如直接赋值`String s = "abc";`,或者通过字符数组转换`String s = new String(char[]);`。 2. **字符串比较**: - `=...
`String`类的一个关键特性是**不可变性**,也就是说一旦一个`String`对象被创建,它的值就不能被更改。 ##### 不可变性的意义 1. **内存优化**: 由于`String`对象是不可变的,多个变量可以共享同一个字符串对象,...
1. **基础包(java.lang)**:包含运行Java程序所需的基本类,如String、Math等。 2. **集合框架(java.util)**:提供了用于存储对象的集合类,如List、Set、Map等。 3. **输入输出流(java.io)**:提供了一系列...
- **异步处理**:如果系统允许,可以考虑使用NIO的异步特性来进一步提高性能。 - **多线程处理**:结合多线程技术,实现文件读取和数据处理的并行执行,提高整体效率。 综上所述,使用Java NIO处理超大数据文件时...
Java 1.5引入了局部变量的final修饰,创建了一个只读的局部变量,一旦初始化就不能再改变,增强了代码的清晰度和安全性。 九、比较与交换(Compare and Swap) Java 1.5的并发包(java.util.concurrent)中提供了...
- **val和var:**`val`用于声明只读变量(类似于Java中的`final`关键字),而`var`则用于声明可变变量。 #### 四、优秀表达式 在Kotlin中,表达式可以作为返回值,这意味着if-else、try-catch等控制结构的最后一个...
例如,Java的`String`对应于MySQL的`VARCHAR`,`int`对应于`INTEGER`等。 4. **批处理**:通过`java.sql.Statement`或`java.sql.PreparedStatement`的`addBatch()`和`executeBatch()`方法,可以发送多条SQL语句一次...
`JTextArea`默认是可编辑的,通过`setEditable(false)`可以将其设为只读: ```java textArea.setEditable(false); ``` **7. 换行模式** `JTextArea`有三种换行模式:`WRAP_WORD`(单词间换行)、`WRAP_CHAR`(字符...
### Java 开发简易 NoteBook 记事本...此外,为了进一步提高应用的功能性和用户体验,可以考虑增加更多高级特性,如搜索替换、字体样式调整等功能。同时,在实际开发过程中还需注意异常处理、代码优化等方面的问题。
2、String 类特性: * String 是一个 final 类,代表不可变的字符序列。 * 字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。 * String 对象的字符内容是存储在一个字符数组 value[]中的。 * 字符串...
字符串在Java中属于引用数据类型,由String类表示。它与其他基本数据类型进行运算时,会将基本数据类型转换为字符串类型。字符串的赋值需要使用双引号包裹。 **ASCII码和Unicode编码** 在文档中提到了ASCII码和...
根据提供的文档片段,本文将围绕几个核心的Java知识点进行深入解析,包括但不限于:String与StringBuffer的区别、集合类(如ArrayList、Vector、LinkedList)的特性与应用场景、线程同步机制的理解及其实现方式、...
JavaRDD<String> mappedRdd = rdd.map(new Function<String, String>() { public String call(String s) { return s.toUpperCase(); } }); ``` - **行动**:`count()`计算元素数量,`collect()`获取所有元素,`...
- Java的主函数必须是public static void main(String[] args),而C#的Main函数可以是private,可以没有参数,还可以返回int值,这更接近C语言的风格。 4. 数字表示: - C#的编译器csc.exe会提示使用大写的L(L)...
12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 ...
这里,`ResultSet.TYPE_SCROLL_INSENSITIVE`表示结果集对数据库中的变化不敏感,而`ResultSet.CONCUR_READ_ONLY`表示结果集是只读的。如果需要更新结果集,可以使用`ResultSet.CONCUR_UPDATABLE`。 接下来,执行SQL...