有一次遇到一个问题,需要按各种条件初始化一些不同类型的变量。
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;
}
}
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦