- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包补充
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
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