Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Don't Compute With Wrapper

DZone's Guide to

Don't Compute With Wrapper

· Performance Zone
Free Resource

Discover 50 of the latest mobile performance statistics with the Ultimate Guide to Digital Experience Monitoring, brought to you in partnership with Catchpoint.

As a Java Developer, i got these interview questions a lot… really. What is the difference between int and Integer, which one is better ?

The answer for the difference, can be answered easily, int is a primitive data type and Integer is wrapper object for int, and so on bla bla bla google it.

But, for the better one the answer would be  depends on the purpose of it. For this example, i will put simple demo to show how slow is the Wrapper when we use it for the mathematics computation.

import java.util.Date;
public class Tester {
    public void runInteger() {
        long startTime = new Date().getTime();
        Integer ctr = 0;
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            ctr += i;
        }
        long endtime = new Date().getTime();
        System.out
                .println("Time for Integer: " + (endtime - startTime) + " ms");
 
        System.out.println();
    }
 
    public void runint() {
        long startTime = new Date().getTime();
 
        int i = 0;
        int ctr = 0;
        for (i = 0; i < Integer.MAX_VALUE; i++) {
            ctr += i;
        }
 
        long endtime = new Date().getTime();
 
        System.out.println("Time for int: " + (endtime - startTime) + " ms");
 
        System.out.println();
    }
 
    public static void main(String[] args) {
        new Tester().runInteger();
        new Tester().runint();
        new Tester().runInteger();
    }
}

and the output was:

    Time for Integer: 7652 ms

    Time for int: 5 ms

    Time for Integer: 7541 ms

We can see the interval difference between primitive and wrapper on this example is quite huge ~ 7500ms .  But, unfortunately, many developers today didnt and dont aware of this,  because of the auto boxing-unboxing features since Java 1.5, the process is hidden on the background.


 

Is your APM strategy broken? This ebook explores the latest in Gartner research to help you learn how to close the end-user experience gap in APM, brought to you in partnership with Catchpoint.

Topics:

Published at DZone with permission of Ronald Daniel, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}