Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6167347
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T22:29:46+00:00 2026-05-23T22:29:46+00:00

Which is faster in Java, and why? try { object.doSomething() } catch (NullPointerException e)

  • 0

Which is faster in Java, and why?

try {
  object.doSomething()
} catch (NullPointerException e) {
  if (object == null) {
    object = new .....;
    object.doSomething();
  } else throw e;
}

or

if (object == null) {
  object = new .....;
}
object.doSomething();

and why?

The code would be called often, and object is only null the first time it’s called, so don’t take the cost of the thrown NPEinto account (it only happens once).

P.S. I know the second is better because of simplicity, readability, etc, and I’d surely go for that in real software. I know all about the evil of premature optimization, no need to mention it.
I’m merely curious about these little details.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T22:29:48+00:00Added an answer on May 23, 2026 at 10:29 pm

    To answer your question, version 1 is much slower when it explodes because creating Exceptions is quite expensive, but it is not faster than version 2 because the JVM must do the null check itself anyway so you’re not saving anytime. The compiler is likely to optimize the code so it’s no faster anyway.

    Also Exceptions should be reserved for the exceptional. Initial state of null is not exceptional.

    Use the lazy initialization pattern:

    SomeClass getIt() {
        if (it == null)
            it = new SomeClass();
        return it;
    }
    
    ...
    getIt().someMethod();
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

which would you recommend? which is faster, reliable? apache mod_python or nginx/lighttpd FastCGI?
Which compiles to faster code: ans = n * 3 or ans = n+(n*2)?
Which one is faster in Java? a. for(int i = 100000; i > 0;
Which is faster? someCondition has the same probability of being true as it has
Just wondering which is faster: DELETE FROM table_name WHERE X='1' DELETE FROM table_name WHERE
Possible Duplicate: Which is faster/best? SELECT * or SELECT column1, colum2, column3, etc What
I was wondering if it which is faster when trying to, for example, check
In VB.NET, which is faster to use for method arguments, ByVal or ByRef ?
Pretty straightforward, but I just want to know which is faster. I think simply
I've been wondering this for some time. As the title say, which is faster,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.