-
项目中异常处理经验
①处理运行时异常时,采用合理逻辑去合理规避异常同时加上try-catch辅助处理
②在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
③对于不确定的代码,也可以加上try-catch,处理潜在的异常
④尽量去处理异常,切忌只是简单的调用printStachTrace()去打印输出
⑤具体如何处理异常,要根据不同的业务需求和异常类型去决定
⑥尽量添加finally语句块去释放占用的资源
查看全部 -
Java中的异常抛出
throw 将产生的异常抛出(动作)
throws 声明将要抛出何种类型的异常(声明)
public void 方法名(参数列表)throws 异常列表,可以是多个异常用逗号隔开 {
//调用会抛出异常的方法
throw new Exception();
}
有声明异常的方法, 调用时须try-catch 或者 抛出throws
查看全部 -
try{
//一些会抛出异常的方法
}catch(Exception) {
//处理该异常的代码块
}
如果try抛出异常,抛出异常的方法将会终止执行,程序的控制权将会交给catch块中的异常处理程序
try 多重catch捕获异常顺序
catch捕获异常类顺序是子到父类, 因为catch根据就近原则,父类异常同样适用子类, 如果还想执行些伤后工作,可以添加使用finally{
//最终将要执行的一些代码
}
查看全部 -
1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理
2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包
查看全部 -
throws
public void 方法名(参数)
throw 异常列表{
//调用会抛出异常的方法或者:
throw new Exception();
}
查看全部 -
在map 中,用containsKey()判断是否包含某一个key
containsValue()判断是否包含某个Value
查看全部 -
list 中获取元素的位置索引 indexOf()
获取最后把一个元素的索引 lastIndexOf()
查看全部 -
collection 中判断是否存在元素contain元素,containAll判断是否存在所有元素
查看全部 -
java 中的2大接口,collection和map类
查看全部 -
map的hashmap 集合的修改键值,可以用put来修改
查看全部 -
map 中的hashmap集合的方法put,remove,get, 用来增加,删除,查元素
keySet获取所有的键的集合,entrySet返回所有的键值对的集合
getKey()获取键,getValue()获取值
查看全部 -
String 类具有是不可变性。
当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
理解不了可变性的看这里!
因为String类是由final修饰的,所以是不可变的(详情可见:http://www.cnblogs.com/dolphin0520/p/3778589.html)。另外我们可以看到,在没有new新的String时,对原来的字符进行修改,String的hashCode值会改变。
而StringBuild的hashCode值不变。
由上我们可以看出,String类具有不可变性,其字符串发生改变后会创建新的位置来存储;而StringBuild和StringBuffer是在原有对象上进行修改,其位置不变.
查看全部 -
基本类型转换为字符串有三种方法:
1. 使用包装类的 toString() 方法
2. 使用String类的 valueOf() 方法
3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
再来看,将字符串转换成基本类型有两种方法:
1. 调用包装类的 parseXxx 静态方法
2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱
查看全部 -
== 判断基本类型是否相等
equals(); 判断引用类型是否相等
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。查看全部 -
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class HelloWorld {
public static void main(String[] args) {
// 创建Calendar对象
Calendar c = Calendar.getInstance();
// 将Calendar对象转换为Date对象
Date date = c.getTime();
// 创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 将日期转换为指定格式的字符串
String now = sdf.format(date);
System.out.println("当前时间:" + now);
}
}
查看全部
举报