有一次遇到一个问题,需要按各种条件初始化一些不同类型的变量。
a = 0
b = "bar"
c = true
计算条件1
if (条件1){
a = 1
}else{
计算条件2
if (条件2){
b = "foo"
}else{
计算条件3
if (条件3){
c = false
}
}
}
现在代码看上去嵌套层数很多,不美观。
其实可以用return (a,b,c)的方式直接终止,但是java里没有返回tuple的能力,需要引入其他类库;要不就要返回一个object类型的数组,也觉得不美观。
后来发现了java break的新用法,根据https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html,java的break语句不仅可以跳出循环,还可以中止label标记的代码块。
可以利用label对代码块block进行标记,然后用break中止,这下嵌套少了很多,妈妈再也不用担心写出不优雅的代码啦!!
a = 0
b = "bar"
c = true
init:{
计算条件1
if (条件1){
a = 1
break init;
}
计算条件2
if (条件2){
b = "bar"
break init;
}
计算条件3
if (条件3){
c = true
break init;
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦