-
对于string自己使用了.length编译错误,然后看了下参考答案,不解,上网查了下.length,.length(),size()的区别,答案如下:
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.
2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
Object类中
equal()方法比较的是对象的引用是否指向同一块内存地址
String类中
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
注意:Object类中是equal()方法;String类中是equals(),差了一个s
查看全部 -
1.在基本类型比较过程中:==比较的是内存地址;equals比较的是内容
2.在引用类型比较过程中:例Dog dog=new Dog();==与equals都比较的是地址,需重写equals方法才能比较内容
int length() 返回当前字符串的长度
int indexOf(int ch) 查找ch字符在该字符串中第一次出现的位置
int indexOf(String str) 查找str子字符串在该字符串中第一次出现的位置
int lastIndexOf(int ch) 查找ch字符在该字符串中最后一次出现的位置
int lastIndexOf(String str) 查找str子字符串在该字符串中最后一次出现的位置
String substring(int beginIndex) 获取从beginIndex位置开始到结束的子字符串
String substring(int beginIndex, int endIndex) 获取从beginIndex位置开始到endIndex位置的子字符串
String trim() 返回去除了前后空格的字符串
boolean equals(Object obj) 将该字符串与制定对象比较,返回true或false
String toLowerCase() 将字符串转换为小写
String toUpperCase() 将字符串转换为大写
char charAt(int index) 获取字符串中指定位置的字符
String[] split(String regex, int limit) 将字符串分割为子字符串,返回字符串数组
byte[] getBytes() 将该字符串转换为byte数组
查看全部 -
String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。
1、 通过 String s1="爱慕课"; 声明了一个字符串对象, s1 存放了到字符串对象的引用,常量字符串存储在堆内存中,s1只是对存放了到字符串的引用,通过 s1="欢迎来到:"+s1; 改变了字符串 s1 ,其实质是创建了新的字符串对象,变量 s1 指向了新创建的字符串对象,即使s1指向了另一块堆内存。
2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。
3、每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
查看全部 -
一、在Java中,String类位于java.lang包中。 二、创建String对象的方法: (1)String s1 = "imooc"; (imooc:字符常量,s1:字符串对象) (2)String s2 = new String(); (创建空字符串对象) (3)String s3 = new String("imooc");(s3:字符串对象)
查看全部 -
catch 后加catah(Exception)来处理可能会被遗漏的异常
查看全部 -
String
查看全部 -
额查看全部
-
基本类型不能调用方法
查看全部 -
java中的异常抛出:关键字throws,throw。throws是一种声明,在方法体前面使用,声明将要抛出何种类型的异常,可以抛出一个或多个异常。throw是一个动作,在方法体中使用,作用是将产生的异常抛出。
如果某个方法要调用会抛出异常的方法,就要用try,catch语句去捕获或者添加throws声明将异常抛给更上一级的调用者去处理。
自定义异常:java中自带的异常类型不能满足我们的需要,这个时候就通过创建自定义异常去解决这个问题。语法 :class 自定义异常 extends异常类型{}。
自定义异常必须继承自java标准类库中意思相近的异常类型或者直接继承自Exception类。
查看全部 -
return在try-catch-finally中:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
1. e.printStackTrace()可以输出异常信息
2. -1为抛出异常的习惯写法
3. 如果方法中try,catch,finally中没有返回语句,则会调用这三个语句块之外的return结果
4.finally块无论如何,不管前面是正常还是异常,都要执行。
5.finally 在try中的return之后 在返回主调函数之前执行。
查看全部 -
使用泛型可限制集合的存放对象的类型
查看全部 -
Throwable:异常始祖。主要子类:error、Exception
error:程序崩溃。
主要原因:虚拟机错误(内存溢出),线程锁死
Exception:可解决异常。
主要原因:编码、环境、用户误操作
Exception子类:RuntimeException(非检查异常)、和检查异常
查看全部 -
try-catch处理异常
查看全部 -
public class Test07 {
List<String> strList = new ArrayList<String>();
String str;
Random ran = new Random();
//排序方法
public void testStrSort() {
for(int j=0 ;j<10;j++) {
//创建char类型的数组用于存储十个随机生成的字符
char[] chars = new char[10];
for(int i=0 ;i<10;i++) {
//生成一个随机的Ascii码值
int b = ran.nextInt(125);
//判断Ascii码值是否位于48-57或65-90或97-122之间
//Ascii码值位于48-57或65-90或97-122之间为0-9、a-z、A-Z之间的字符
if((b>47 && b<58) || (b>64 && b<91) || (b>96&&b<123)) {
int temp = b;
char a = (char)temp;
chars[i] = a;
continue;
}
i--;
}
//将符合条件的字符数组转换为字符串
str = String.copyValueOf(chars);
//将字符串存入集合strList
strList.add(str);
}
//遍历排序前strList
System.out.println("-----------排序前-------------");
for (String string : strList) {
System.out.println(string);
}
Collections.sort(strList);
//遍历排序后strList
System.out.println("----------排序后-----------");
for (String string : strList) {
System.out.println(string);
}
}
//main函数
public static void main(String[] args) {
Test07 t = new Test07();
t.testStrSort();
}
}
查看全部 -
String的方法及应用
查看全部
举报