Java StringBuffer setLength() 方法



Java StringBuffer setLength() 方法用于设置/更改 StringBuffer 对象的长度。

通过传递表示新长度的整数值来调用此方法时,当前对象将更改为一个新的对象(StringBuffer),其长度与给定的参数相同。

长度只不过是给定序列中字符的计数。我们在 Java 中有 length() 方法来查找给定序列的长度。

如果 newLength 参数大于或等于当前长度,则会附加足够的空字符 ('\u0000'),以使长度变为 newLength 参数。

setLength() 方法接受一个整型参数,该参数保存 newLength 的值。如果给定的 newLength 值为负数,则会抛出异常。

语法

以下是 Java StringBuffer setLength() 方法的语法:

public void setLength(int newLength)

参数

  • newLength − 这是新的长度。

返回值

此方法不返回值。

示例:设置 StringBuffer 字符串的长度

如果给定的 newLength 参数值为正数,则 setLength() 方法将设置给定序列的新长度。

在下面的程序中,我们使用值“TutorialsPoint”实例化StringBuffer 类。使用setLength() 方法,我们尝试将给定序列的新长度设置为20

public class SetLength {
    public static void main(String[] args) {
        //instantiating the StringBuffer class
        StringBuffer sb = new StringBuffer("TutorialsPoint");
        System.out.println("StringBuffer: " + sb);
        System.out.println("Before setting the new length the original length is: " + sb.length());
        //initialize the newLength argument value
        int newLength = 20;
        System.out.println("The given newLength argument value is: " + newLength);
        //using the setLength() method
        sb.setLength(newLength);
        System.out.println("After setting the new length the string length is: " + sb.length());
    }
}

输出

执行上述程序后,将产生以下结果:

StringBuffer: TutorialsPoint
Before setting the new length the original length is: 14
The given newLength argument value is: 20
After setting the new length the string length is: 20

示例:在设置 StringBuffer 字符串长度时遇到 IndexOutOfBoundsException

如果给定的 newLength 参数值为负数,则 setLength() 方法将抛出IndexOutOfBoundsException

在下面的示例中,我们使用值“HelloWorld”创建一个StringBuffer 类的对象。使用 setLength() 方法,我们尝试将序列长度设置为 -5

public class SetLength {
    public static void main(String[] args) {
        try {
            //create an object of the StringBuffer class
            StringBuffer sb = new StringBuffer("HelloWorld");
            System.out.println("StringBuffer: " + sb);
            System.out.println("Before setting the original length is: " + sb.length());
            //initialize the newLength argument value
            int newLength = -5;
            System.out.println("The given newLength argument value is: " + newLength);
            //using the setLength() method
            sb.setLength(newLength);
            System.out.println("After setting is the new length of string is: " + sb.length());
        } catch(IndexOutOfBoundsException e) {
            e.printStackTrace();
            System.out.println("Exception: " + e);
        }
    }
}

输出

以下是上述程序的输出:

StringBuffer: HelloWorld
Before setting the original length is: 10
The given newLength argument value is: -5
java.lang.StringIndexOutOfBoundsException: String index out of range: -5
   at java.base/java.lang.AbstractStringBuilder.setLength(AbstractStringBuilder.java:312)
   at java.base/java.lang.StringBuffer.setLength(StringBuffer.java:234)
   at SetLength.main(SetLength.java:14)
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -5

示例:设置 StringBuffer 字符串的长度

如果给定字符串长度为,则此方法将设置给定序列的新长度。

在下面的程序中,我们使用空值实例化StringBuffer 类。然后,使用setLength() 方法,我们尝试将给定空序列的新长度设置为5

public class SetLength {
    public static void main(String[] args) {
        //instantiating the StringBuffer class
        StringBuffer sb = new StringBuffer();
        System.out.println("StringBuffer: " + sb);
        System.out.println("Before setting the new length the original length is: " + sb.length());
        //initialize the newLength argument value
        int newLength = 5;
        System.out.println("The given newLength argument value is: " + newLength);
        //using the setLength() method
        sb.setLength(newLength);
        System.out.println("After setting the new length the string length is: " + sb.length());
    }
}

输出

上述程序产生以下结果:

StringBuffer:
Before setting the new length the original length is: 0
The given newLength argument value is: 5
After setting the new length the string length is: 5
java_lang_stringbuffer.htm
广告