`
wusuoya
  • 浏览: 644187 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

定义StringBuffer数组后,勿忘创建StringBuffer对象

    博客分类:
  • Java
 
阅读更多

如下程序:
public class ThisHappens {
    public static void main(String[] args) {
        StringBuffer[] stringBuffers = new StringBuffer[10];

        for (int i = 0; i < stringBuffers.length; i ++) {
     stringBuffers[i] = new StringBuffer();
            stringBuffers[i].append("StringBuffer at index " + i);
        }
    }
}

既然已经new StringBuffer[10]了,为什么还要加这句stringBuffers[i] = new StringBuffer();

解答:

StringBuffer[] stringBuffers = new StringBuffer[10];
---这一句,是new了一个StringBuffer数组,这个数组有10个StringBuffer作为元素。

stringBuffers[i] = new StringBuffer();
---而这一句,则是将第i个的StringBuffer实例化。
未曾经过实例化(new)而直接使用的对象将会有一个warning,并且在运行时会抛出一个exception。
因此必须先进行一次实例化操作(new),之后才会使用。

分享到:
评论

相关推荐

    Java中StringBuffer对象的初始化.pdf

    与`String`类不同,`StringBuffer`是可变的(mutable),这意味着它的内容可以在创建后进行修改,而无需创建新的对象。这种特性使得在处理大量字符串操作时,`StringBuffer`比`String`更高效,因为它避免了不必要的...

    StringBuffer类的总结

    而 `StringBuffer` 允许在对象创建后对其进行修改,如添加、删除或替换字符等操作。 2. **线程安全**:`StringBuffer` 在实现上采用了同步机制(synchronized),确保了多线程环境下的安全性。这使得在多个线程同时...

    java实现二维数组转json的方法示例

    这是通过创建一个`StringBuffer`对象`sb`,然后遍历二维数组,将每个子数组转换为JSON对象格式,最后组合成一个JSON数组。以下是代码详解: 1. 首先定义了一个二维字符串数组`blogList`,包含了多条博客信息。 2. ...

    StringBuffer

    4. **`StringBuffer(CharSequence chars)`** - 使用给定的`CharSequence`对象作为初始值创建`StringBuffer`。 这些构造方法为开发者提供了灵活的选择,可以根据具体的应用场景选择合适的初始化方式。 #### 方法...

    java高级特性StringBuffer类.doc

    如果需要创建带有内容的 StringBuffer 对象,则可以使用:StringBuffer s = new StringBuffer("abc");这样初始化出的 StringBuffer 对象的内容就是字符串"abc"。 需要注意的是,StringBuffer 和 String 属于不同的...

    String、StringBuffer、StringBuilder的使用方法

    它在内存中的表现形式是字符数组,所以每次对`String`对象进行修改(如拼接)都会创建一个新的`String`对象,这可能导致大量的内存开销。例如: ```java String str1 = "Hello"; String str2 = "World"; String str...

    String ,StringBuffer与StringBuilder

    每次对 String 对象的修改实际上都是重新创建一个新的对象,然后把新的值保存进去。String 是 final 类,意味着它不能被继承。 StringBuffer 则是一个可变对象,当对它进行修改的时候不会像 String 那样重新建立...

    StringBuffer和String_区别

    一旦一个 String 对象被创建后,其内容就不能被改变。这使得 String 类非常适合用来表示常量或者不变的数据。 **StringBuffer** 是 Java 提供的一个线程安全的可变字符序列类。它类似于 String,但是可以在创建后...

    String与StringBuffer区别详解

    - 对于`StringBuffer`,它的`append`方法内部直接修改了`char[]`数组,无需创建新的对象。 综上所述,`String`和`StringBuffer`(或`StringBuilder`)在使用时应根据具体需求来选择。对于不关心线程安全且字符串...

    第五章 数组、字符串与类库

    数组的定义、创建和使用是编程的基础,特别是在处理批量数据时。本章主要探讨了数组,特别是字符串以及类库的使用。 一、数组 1. 一维数组 - 定义与创建: - 方式一:先声明数组变量,再创建数组对象。如 `int a...

    string与stringbuffer的区别

    这是因为`String`每次连接操作都会创建新的`String`对象,而`StringBuffer`则是在原有的对象基础上进行修改。在大量字符串操作的情况下,这种差异尤为明显。 4. **编译器优化**: 尽管如此,Java编译器有时会对...

    Java中字符数组、String类、StringBuffer三者之间相互转换

    Java中字符数组、String类、StringBuffer三者之间相互转换 Java语言中,字符数组、String类、StringBuffer三者之间的相互转换是一个非常重要的知识点。在实际开发中,我们经常需要在这三者之间进行转换,以满足不同...

    String&Stringbuffer

    2. **性能**:对于频繁修改的字符串,使用`StringBuffer`会比不断创建新`String`对象更加高效。 3. **线程安全性**:`StringBuffer`的所有方法都是同步的,因此它是线程安全的,而`String`类本身没有提供线程安全...

    String、StringBuilder和StringBuffer的区别

    相比之下,`StringBuilder`和`StringBuffer`是可变的字符序列,它们允许在原有对象基础上进行修改,而不创建新对象。`StringBuilder`是Java 5.0新增的类,它是非线程安全的,这意味着在单线程环境下,StringBuilder...

    String和StringBuffer详细用法总结

    使用`+=`时,每次操作都会创建新的字符串对象,而`StringBuffer`则是在原对象上进行修改,从而避免了不必要的对象创建。 ### 总结 - 在单线程环境中,简单字符串操作使用`String`即可。 - 对于需要频繁修改的字符串...

    Java语言中StringBuffer的用法

    相较于`String`类,`StringBuffer`提供了线程安全的动态字符串构建,避免了频繁创建新对象带来的性能开销。本文将深入探讨`StringBuffer`的用法,包括其常用方法,并通过实例对比`StringBuffer`与`String`的区别。 ...

    String及StringBuffer和StringBuilder的区别

    但是,在某些特别情况下,String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢。 线程安全性 StringBuffer 是线程安全的,而 ...

    String和StringBuffer的区别

    由于不涉及新的对象创建,`StringBuffer`在处理大量字符串拼接时效率远高于`String`。 在上述代码示例中,我们比较了使用`String`和`StringBuffer`进行5000次字符串拼接操作的时间消耗。当使用`String`时,每次循环...

Global site tag (gtag.js) - Google Analytics