java中的字符串类或对象
在任何语言中,字符串都是一个字符序列。对于Java来说,字符序列是以java.lang.String对象的形式存储的。字符串是immutable objects ,这意味着一旦创建,字符串的内容就不能在内存中被修改,这意味着字符串对象是只读的。
字符串类是final ,这意味着我们不能重写字符串中定义的方法的行为。
特点:
- 字符串是一个不可变的类
- 它是一个线程安全类,字符串的值永远不会改变。
- 它是最终类
- 将字符串对象存储在堆内存中,而不是只读内存中
- 字符串类被定义在java.lang包中
- 它提供了各种操作和方法来处理字符串
为什么字符串对象是不可变的?
字符串是一个不可变的对象。
String s="hadoop";
s="cloud"+s;
在上面的例子中:
- 字符串's'的引用被创建,其值为
Hadoop。 - 下一行代码,在字符串中添加
cloud,这意味着字符串 "cloud"对象被创建。 - 新的字符串被创建,其值为'cloudhadoop',由s引用,原始值 "Hadoop "未被引用。
如何创建一个字符串对象:-***
在java中,有很多方法可以创建一个字符串对象
- 使用重载构造函数
- 内联初始化
String cloudString=new String(); string object created without value
String cloudString=new String("cloudhadoop"); string object created with cloudhadoop value
String cloudChars="{'c','l','o','u','d'}"
String cloudString=new String(cloudChars);
String cloudString="cloudhadoop"
String cloudString=new String(cloudChars);
如何找到字符串的长度?
字符串类有一个length方法,可以返回字符串中的字符数。
我们可以使用concat()方法或plus 操作符来添加字符串。这两种方法都会被用来在最后添加字符串。
String sObj="cloud";
String addedString="hadoop+sObj; or
String sObj="cloud";
String addedString="s.concat("hadoop");
如何在java中比较两个字符串的数据和引用?
String sObj="cloud";
String addedString="cloud";
在上面的例子中,有多少个对象被创建?答案是只有一个对象,但却创建了两个指向云对象的引用。
在Java中,我们可以使用== 操作符来比较两个字符串的引用,如果我们想比较两个字符串对象的数据,我们可以使用equals 方法。
在上面的例子中,== 返回true ,equal 方法返回true 。
我们还可以使用equalsIgnoreCase 方法来忽略字符串的大小写敏感性。
如何将一个字符串分割成子字符串?
strings 被分离成一个列表, ,使用 方法指定分隔符substrings String.split(String)
String s="Best String examples";
String delimeter=" ";
String array[]=s.split(delimeter);
在java中格式化字符串的例子:-**。
字符串对象中提供了 format 方法,它类似于 c 语言的 println 格式。为了格式化字符串之一,我们使用代码来表示不同的值类型。
String.format("Hi %s, today is %d day of month","Kiran",29);
输出结果是:Hi Kiran,今天是本月29日。
%s代表 类型strings%d代表 类型 - 代表 类型integer
%ffloat
大写代码代表类型的大写类型
在java中把字符串转换为整数
这是程序员生活中遇到的一个常见要求string 应该包含numbers ,用双引号括起来。
我们可以通过两种方式进行转换。一种方法是使用Integer.parseInt() ,该方法返回原始的int值。
另一种方法是使用Integer.valueOf() method ,它返回Integer对象。
它将转换为整数。你可以查看我以前的帖子,了解完整的教程。
String numberString = "90";
int number = Integer.parseInt(numberString);
System.out.println(number); // returns 90
String numberString1 = "94";
int number1 = Integer.valueOf(numberString1);
System.out.println(number1); // returns 94
String numberString2 = "94abc";
int number2 = Integer.valueOf(numberString2);
System.out.println(number2); // returns java.lang.NumberFormatException: For input string: "94abc"
}
如果字符串格式的数字不是一个有效的数字,它会抛出NumberFormatException。
java中反转字符串的例子
StringBuilder.reverse() 方法是用来反转字符串的。首先使用append() 方法将 String转换为 StringBuilder。
String str = "CloudHadoop";
StringBuilder strBuilder = new StringBuilder();
strBuilder.append(str);
strBuilder = strBuilder.reverse();
System.out.println(strBuilder);
总结
总结一下,你学到了java中关于字符串对象的基础知识和关于字符串转换和创建的所有例子。