In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
Return and finally example analysis, many novices are not very clear about this, in order to help you solve this problem, the following editor will explain for you in detail, people with this need can come to learn, I hope you can gain something.
A few days ago, a friend asked an interesting question in the WeChat group:
Who executes the finally or return of the try/catch/finally statement block first? That is, what if we call return inside the try and then modify the content returned by the return inside the finally?
A few nonsense code first:
Public class ReturnAndFinally {
Private static int i = 10
Private static int ReturnIntValue () {
ITunes +
Try {
Return i
} catch (Exception e) {
E.printStackTrace ()
}
Finally {
ITunes +
}
Return 0
}
Public static void main (String args []) {
System.out.println (ReturnIntValue ())
}
}
Can you guess what the return value is before running it?
At this point, you might think that after the return is executed, the finally will not be executed, knowing that the finally definition is that the finally statement is finally executed regardless of the circumstances. So is it because the value is returned directly when the int type is returned, then the addition inside the finally is also invalid?
Let's use StringBuilder to verify that our variable name is actually the object address, and the object entity is stored in the heap.
So let's switch to StringBuilder and look at the results:
Package bigdata.spark.app
Public class ReturnAndFinally {
Private static StringBuilder str = new StringBuilder ("hello")
Private static StringBuilder ReturnStringValue () {
Try {
Return str.append ("word")
} catch (Exception e) {
E.printStackTrace ()
}
Finally {
Str.append (!)
}
Return str.append ("+")
}
Public static void main (String args []) {
System.out.println (ReturnStringValue ())
}
}
The result of the execution is:
This turns out to be executed even if return,finally is called.
Is it helpful for you to read the above content? If you want to know more about the relevant knowledge or read more related articles, please follow the industry information channel, thank you for your support.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.