黑马程序员技术交流社区
标题: String的问题 [打印本页]
作者: 赵然 时间: 2013-7-30 10:26
标题: String的问题
本帖最后由 杨兴庭 于 2013-7-30 18:21 编辑
最近看了些题 不少都是String方面的 但是看的多了 忽然发现自己晕了 麻烦那些对String类精通的小伙伴们 告诉我些心得 到底那些操作会改变它的值,那些操作虽然做了但是不能改变它的值。有总结的话最好啦 嘎嘎 没得话就给我说几个例子吧 谢啦
作者: 赵然 时间: 2013-7-30 10:27
能详细说明下String类的在内存中如何存储的就更好不过了
作者: yangchao8907 时间: 2013-7-30 11:39
- //demo1
- String str1 = "Java";
- String str2 = "Java";
- System.out.println(str1==str2); //true
- //demo2
- String str1 = new String("Java");
- String str2 = new String("Java");
- System.out.println(str1==str2); //false
- //demo3
- String str1 = "java";
- String str2 = "blog";
- String s = str1 + str2;
- System.out.println(s=="javablog"); //false
- //demo4
- String s = "java" + "blog";//字符串拼装
- System.out.println(s=="javablog"); //true
- //demo5
- String str2 = "blog";
- String s = "java"+str2;
- System.out.println(s=="javablog"); //false
- //demo6
- String str1 = new String("Java");
- String str2 = "Java";
- System.out.println(str1.equals(str2));//true
复制代码 可以么?
作者: a2213502 时间: 2013-7-30 12:01
对于String,我看毕老师的视频总结了点,字符串最大的特点是:一但被初始化就不可以被改变。因为final
常见的对字符串的操作有,
1,获取
1.1 字符串中的包含的字符数,也就是字符串的长度
int length() 获取长度
1.2 根据位置获取位置上的字符
char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置
int indexof(int ch) :返回的是ch在字符串第一次出现的位置
intindexof(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中的位置
int indexof(String str):返回的是str在字符串中的位置
int indexof(String str,int fromIndex) 从fromIndex指定位置开始,获取str在字符串中出现的位置
2,判断
2.1 字符串中是否包含某一个字符串
boolea contains(str);判断字符串是否存在
也可以对指定字符串判断是否包含
2.2 字符中是否有内容
boolean isEmpty(); 原理就是判断长度是否为0
2.3 字符串是否是以指定内容开头
boolean startsWith(str);
2.4 字符串是否是以指定内容结尾、
boolean endsWith(str);
2.5 判断字符串中内容是否相同,复写了Object类中的equals方法
boolean equals(str);
2.6 判断内容是否相同,并忽略大小写
boolean equalsIgnoreCade();
3,转换
3.1将字符数组转成字符串
3.2将字符串转成字符数组
3.3将字节数组转成字符串
3.4将字符串转成字节数组
4,替换
String replace(oldchar,newchar);
5,切割
string[] splist(regex);
6,获取 字符串中的一部分
string substring(begin); 从指定位置开始到结尾
string substring(begin,end);从指定位置开始到指定位置结束
7,转换,去除空格,比较,
7.1 将字符串转换成大写或者小写
String toUpperCase();
String toLowerCase();
7.2 将字符串两端多个空格去除
String trim();
7.3对两个字符串进行自然顺序的比较
int compareTo(string);
不懂了,可以看下毕老师的视频,希望能帮到你
作者: breaveheart 时间: 2013-7-30 17:58
今天刚整理的- - 楼主你真幸福。。具体写的例子我发过来说长度超了,等下发个帖子你自己去看下好了。
String():初始化一个新的 String 对象,使其表示一个空字符序列,并不是返回空(不等于 null)。
String(StringBuffer buffer):根据StringBuffer对象来创建String对象;
String(StringBuilder builder):同上
char charAt(int index):取字符串中指定位置的字符,index从0开始计算。
String concat(String str):连接字符串,等同于 “+”;
boolean contentEquals(StringBuffer buffer):若二者包含的字符序列相同时就返回true;
boolean equals(Object obj):将该字符串与指定对象比较,若二者包含的字符序列相等返回true;
boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写;
byte[] getBytes():将该字符串转换成byte数组;
int indexOf(String str):找出str字符串在该字符串中第一次出现的位置;
int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始;
int lastIndexOf(String str) 返回指定子字符串在此字符串中最后一次出现处的索引;
int length():返回当前字符串长度;
String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replaceAll(String regex, String replacement) 使用给定的 字符串replacement 替换此字符串所有的regex字符串;
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始.
String[] split(String regex): 把字符串按指定的字符串分隔开。
String substring(int beginIndex) 返回一个新的字符串,从beginIndex开始截取,它是此字符串的一个子字符串;
String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串;[begin,end)
char[] toCharArray() 将此字符串转换为一个新的字符数组。
String toLowerCase() 将此 String 中的所有字符都转换为小写;
String toUpperCase()转成大写;
static String valueOf(基本类型 obj):把基本类型值转成字符串;
String trim() :忽略字符串前导空白和尾部空白。
-
图片1.png
(25.54 KB, 下载次数: 0)
作者: 赵然 时间: 2013-7-31 07:30
谢了 亲们
作者: 低调的华丽 时间: 2013-8-1 11:41
输出什么信息
public class Test {
public static void main(String[] args) {
String s = "abc";
s.substring(1);
s.replace("bc", "xyz");
System.out.println(s);
String value = new String ("abc");
System.out.println(s == value);
}
}
这个题目就可以让你懂String了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |