Autoboxing and unboxing

hello all,
the new java autoboxing and unboxing feature says when using autoboxing unboxing
The performance of the resulting list is likely to be poor, as it boxes or unboxes on every get or set operation. It is plenty fast enough for occasional use, but it would be folly to use it in a performance critical inner loop.
taken from http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
is doing it myself in my code faster than using the auto features.
in other words is it faster for me to Integer i = new Integer(5);
or let java do it automatically or would it be the same
thanks

I would guess it would be the same. But if I seriously needed to know that I would find out for myself by writing a small program to time it. I wouldn't write that program unless it was demonstrated that the code in question (either version) was taking a large amount of runtime. Or if it was a homework assignment that I had to find out the answer to.

Similar Messages

  • What's the difference between boxing and unboxing?

    What's the difference between boxing and unboxing, I'm a bit confused?
    Is autoboxing the same as boxing?
    This is what I know so far:
    -This is boxing, i think:
    int  []arrayset = {1,2,3};but I don't understand what unboxing is, can someone explain it to me.

    I did little research, but please correct me ifI'm
    wrong:
    Is this similiar to unboxing:
    System.out.println(intArray[0] + intArray[1] +
    intArray[2]);
    Only if intArray is declared asInteger[]
    intArray ...Then the Integers at intArray[0] etc are unboxedinto
    int primitives before adding.Did you try that before you posted it? Autoboxing is
    applied only to an individual primitive/wrapper.
    Arrays and collections aren't subject to
    autoboxing/unboxing. Basically, the compiler will
    fill in constructs such as Integer.valueOf() for you,
    it doesn't go as far as generating loops and new
    arrays for you
    OP, as Peter said, the difference between boxing and
    unboxing is merely one of direction. Autoboxing wraps
    a primitive up for you, auto-unboxing extracts the
    primitive from a wrapperAm fully aware of that, the OP's example contained references to array elements but it was not clear whether that array was declared as Integer[] or int[], hence my answer.
    And just for the recordInteger[] intArray = new Integer[] {1, 2, 3}; // autoboxing
    System.out.println(intArray[1] + intArray[2]); // autounboxing
    // while ...
    int[] intArray = new int[] {1, 2, 3}; // no boxing
    System.out.println(intArray[1] + intArray[2]); // no unboxingis what i meant.

  • Autoboxing and == operator

    Hi,
    I have a problem with the following code :
    public class Equivalence {
         public static void main(String args[]) {
              Integer n1 = new Integer(47);
              Integer n2 = new Integer(47);
              System.out.println(n1 == n2);
              Integer n3 = 47;
              Integer n4 = 47;          
              System.out.println(n3 == n4);
    }the output is :
    false
    true
    I don't really see the reason why the second output is false, the only thing that I can imagine, is that java create only one Integer object with the value 47 and reference it with n3 and n4 thus we have the same value for n3 and n4.
    Am I correct ?
    thanks

    JosAH wrote:
    Read the API documentation for the static method Integer.valueOf(int i). It is used by the compiler for autoboxing purposes. (hint: it caches certain values so no new objects are created for certain int values).Somewhat related, this is also the API recommended way of getting an Integer.
    If a new Integer instance is not required, this method should generally be used in preference to the constructor Integer(int), as this method is likely to yield significantly better space and time performance by caching frequently requested values.

  • Java 1.5 autoboxing and conversion

    Hi,
    What is the correct cast sequence for this.
    Short s;
    Integer i = 8;
    s = (short)(int) i;
    This works, but seems somewhat ackward. Any better?
    -- Kasper

    What is the correct cast sequence for this.
    Short s;
    Integer i = 8;
    s = (short)(int) i;
    This works ...That code will not compile.
    with 'Tiger' the autoboxing will allow you to
    go stright from an Integer to a short. I don't think so.
    short s;
    Integer i = new Integer(8);
    s = i;This code doesn't compile with 1.5.

  • How to change the value in an Integer object?

    Hi,
    Is it possible to change the value that is contained in an Integer object.
    I know Integer objects are immutable. So it might not be possible to chage to value in an integer object once its been initalized a value @ the time of construction.
    Also does autoboxing and unboxing feature of 1.5 help acheive this?
    Please let me know of any other alternative
    Thanks
    Deepak

    Tried the autoboxing and unboxing feature doesnt
    help.It doesn't help in general. But in this special case it doesn't help because it doesn't anything to do with it. Do you really know what you're doing?
    So across the function its not changing the value.
    As I have created an object of Integer class and
    passed a reference of that object into the chage()
    ,So any changes should have been reflected
    acrosss method calls.?Since you let the newly created parameter-reference a point to a new Integer object: no. Why? You have two references to I(31). Then you move one reference to I(33). Why should 31 get another value?
    Does the the java compiler creates a new Integer
    object each time it does autoboxing Not necessarily. Some values are pooled. Actualy, the JVM does it. The compiler never creates any object.
    so that the value
    is lost across method calls?That's not the compiler's or the JVM's fault. It's all a misconception of yours.
    Is there any means to achieve this?What for?
    int a = 0;
    a = change(a);
    int change (final int i) {
      return i + 12;
    }Does exactly what you want, without side-effects.

  • Parsing a string to integer gives 0 in Integer

    Hi ,
    try
    usid = Integer.valueOf(usi).intValue();
    catch(NumberFormatException e)
         text = "NUMber";
    in the above code the value of usi is 4
    then parsing it is giving me 0 in usid
    try
    usid = Integer.parseInt(usi);
    catch(NumberFormatException e)
         text = "NUMber";
    I also tried the above code the result is same

    Also the OP didn't say which version of JDK he was using.
    With JavaSE5 and JavaSE6 , there's a new feature called autoboxing , which eliminates the need to cast from a String to an Integer , and then to get an int value .
    Insead one could simply write code like this and i works:
    Integer someInteger = 123;
    int anInt = 555;
    someInteger = anInt; 
    anInt = someInteger;Autoboxing and Autounboxing : http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
    But the article further adds:
    So when should you use autoboxing and unboxing? Use them only when there is an �impedance mismatch� between reference types and primitives, for example, when you have to put numerical values into a collection. It is not appropriate to use autoboxing and unboxing for scientific computing, or other performance-sensitive numerical code. An Integer is not a substitute for an int; autoboxing and unboxing blur the distinction between primitive types and reference types, but they do not eliminate it.
    Message was edited by:
    appy77

  • Getting Error in AMImpl Method

    Hi.,
    I am using jdev 11.1.1.5
    I had used this code in my AMImpl Method.,
        public void test(){
             getDBTransaction().setLockingMode(DBTransaction.LOCK_NONE);
             ViewObject vo = this.getFinYearsView2();
             Row vor = vo.getCurrentRow();
             ViewObject vo1 = this.getGlJrnlHdView1();
             ViewObject vo2 = this.getGlJrnlLnView1();
             while (vo1.hasNext()){
                 Row vo1r = vo1.next();
                 if (vo1r.getAttribute("GjhYear").equals(vor.getAttribute("FyYear"))){
                     String[] hddAttrs = vo1r.getAttributeNames();
                     String[] hdattrs = new String[] {"GjhJrnlNo"};
                     List hdattrslist = Arrays.asList(hdattrs);
                     while (vo2.hasNext()){
                         Row vo2r = vo2.next();
                         for (int i=0;i<hddAttrs.length;i++){
                             String jrnlNo = hddAttrs;
    if (vo2r.getAttribute("GjlJrnlNo")!=(hdattrslist.contains(jrnlNo))){  //Error(180,60):  incomparable types: java.lang.Object and boolean
    System.out.println ("GjhJrnlNo"+vo2r.getAttribute("GjlJrnlNo"));
    else
    System.out.println ("GjhJrnlNo::"+vo2r.getAttribute("GjlJrnlNo"));
    while i use this code i m getting error
    could anyone would pls help me.,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    @-Suresh.CHS wrote
    >
    Error occurred due to hdattrslist.contains(jrnlNo) return boolean not an Object type Boolean and can you try to check with object type.
    can you try as follows
    if (! vo2r.getAttribute("GjlJrnlNo").equals((Boolean)hdattrslist.contains(jrnlNo))) {
    System.out.println ("GjhJrnlNo"+vo2r.getAttribute("GjlJrnlNo"));
    >
    The autoboxing and unboxing feature in Java automates the process. No need for casting in this case.
    However, what the user needs is to cast vo2r.getAttribute("GjlJrnlNo") to Boolean if it is compatible.

  • A dumb question about primitives

    Ok so there might be a real good answer to this question but I don't get it :
    Why did Sun bother with primitives and not just give us the Object based wrapper classes ?

    I agree that with the way Java works now it would be very inefficient to use instances the wrapper classes instead of primitives, because it would mean you would have to do everything via references (you wouldn't have "direct" variables, which the primitives are) - so for every Integer, Char, Long etc. Java would need to allocate space on the heap, and you can only access it via references.
    However, there's no reason why the Java compiler couldn't optimize all that overhead away. The Java compiler writers could treat the wrapper classes as "special" and convert them to primitives behind the scenes, and it would work just as efficiently as the primitives as we use them now in Java.
    In Java 5, with autoboxing and -unboxing, the wrapper classes are already treated specially, but it's not done all the way. Maybe in a future Java version?

  • SCJP Certification

    Hi,
    I need some clarification on what is the difference between SCJP 1.4 and 5. Which one should one go for Certification.

    Hi Krishnendu,
    This is the same reply from my thread..
    Well SCJP 1.4 n 5.0 have lot of differences if u consider the exam objectives, highlighting a few - Generics, serialization, file I/O, autoboxing and unboxing, Regex, enumerations etc which are added for the 5.0 exam and bitwise operators removed from 1.4
    Abt the difficulty level, well SCJP 5 is difficult 4 sure when compared to 1.4, but that again depends on you java knowledge. If you're well versed with new capabilities of java 5 after 1.4.2 version, u'll find it slightly easier.
    Abt the importance of exams, well take SCJP 5 if projects in your organization have already moved on to Java 1.5, and if you're still gonna work on java 1.4 and below legacy code for sometime, going for the 1.4 exam is better

  • Issue with Subtyping and Autoboxing

    Hi,
    I have a problem with subtyping and autoboxing. Can anybody please help me to know the reason for this.
    public class GenericSubType<T extends Integer> {
        T iVal;
        public GenericSubType(T t){
            iVal = t;
        public static void main(String args[]) {
            GenericSubType<Integer> gst = new GenericSubType<Integer>(30);
            System.out.println("gst.iVal = " + gst.iVal);
    The above code is giving a compile time error saying that:
    GenericSubType.java:8: cannot find symbol
    symbol : method valueOf(int)
    location : bound of type variable T
    GenericSubType<Integer>gst = new GenericSubType<Integer>(30);
    Fatal Error: Unable to find method valueOf
    If we change <T extends Integer> to <T extends Number> in the class declaration the compile time error will be resolved and the program works as expected.
    class GenericSubType<T extends Number> {
      // Body of the class...
    }Can anybody tell what is the problem with the original code and how it is affecting?
    Expecting a justifiable reason.
    Regards,
    Thomas.

    Why shouldn't I compile unnecessary statements? You only would see a warning on unnecessary cast here ;)
    The OP instead is introducing a generic parameter having a final class as bound, which pointless as for any instance the generic argument could be nothing but that very class. Why would anyone need it?
    I'm quite sure it's a javac bug (or maybe optimization issue in javac) in the combined play of autoboxing and generics. I'd say it tries to autobox the int into a T without taking into account that T always is Integer. But T obviously has no valueOf(int) method.

  • FREED STACK and TRef Type

    Hi,
    I've created a variant to load select-options data from database like you can see in this document:
    /people/sharad.agrawal/blog/2008/08/26/creating-and-using-variant-in-select-options-with-web-dynpro-for-abap-3
    All runs perfectly but when I try to get the data inside the handle method of the main view, but when I read the parameters attribute of WDEVENT it comes with "FREED STACK" and I can access to the information. After, a dump fetchs inside the class CL_WDR_SELECT_OPTIONS and it is GETWA_NOT_ASSIGNED type. Does anybody know anything about this?
    Thank you very much.

    Hi Sundar,
    I found this link very useful in understanding the concept behind Stack and Heap.
    Should be useful for you as well, its answers all your doubts with pictorial representation.
    Stack, heap, Value
    types, Reference types, boxing, and unboxing
    Six important .NET concepts:
    Stack, heap, value types, reference types, boxing, and unboxing
    Here's a pretty friendly explanation: C#
    Heap(ing) Vs Stack(ing) in .NET
    Nice youtube video around the same .NET Stack and Heap
    Rachit 
    Please mark as answer or vote as helpful if my reply does

  • New iMac: Screen Issues and Noisy Hard Drive

    Hello,
    I'm writing regarding my new 27" iMac which I purchased just under a week ago (spec: 3.1GHz Intel Core i5, 1TB HDD, 4GB RAM).
    When I got my iMac home and unboxed it, all was fine, however once I had began to install some applications and use them, I noticed an unusual issue with the screen. I had a Skype window open on the left hand side of my screen, with an ongoing chat, Obviously, the chat 'stream' was moving, but the menu items on the far left remained the same. The iMac had been on for about 10mins, with the Skype window open for the same duration. After which, I opened iPhoto, and made it full screen, filling my screen with a dark grey background. I could still see the outline of the text from my Skype window through the iPhoto window. Thinking the window may have been semi-transparent, I closed the Skype window, however when I re-fullscreened iPhoto, the test was still there, as if it was burnt into the screen.
    I understand the concept of screen burn, but surely this shouldn't happen after just 10mins? It's nothing permanent, as it fades away again within another 5mins or so, but it is annoying knowing that I can't leave a window open for very long without worrying I will have text burnt into my screen for a period of time. As a graphic designer, I could be working on images that are dark, and likewise, I don't want to see remains of my chat or emails over the top of my design work.
    Has anyone else had this issue? Is this an issue that can be repaired by myself (eg. installing a firmware update, although I have all the latest updates from Software Update)? Or should I just return my iMac to the store and get them to look at it? I'm worried that if I take it back, they may fail to see the issue, as the lighing is a lot different in the store to at home.
    The other issue I am experiencing is I have a very noisy hard drive, that seems to click and make a grumbling noise rather a lot. Obviously at times when the computer is working hard, this is to be expected (I think), although most of the time it is grumbling away whilst I'm just browsing in Safari with one tab open.
    Has anyone else experienced this issue, taken it back and has a successful replacement? I've read that it could be to do with Mac OS X Lion, because people have reported that their hard drive ran silently on Snow Leopard but has got noisier with Lion. Should I wait for a Lion update before returning it? Other than the issues above, everything is fine.
    Thanks for taking the time to read this, and I look forward to someone being able to shine some light on my issues.

    Thanks for the advice.
    Today, I returned my iMac to the Apple Premium Resellers where I purchased it. The helpful chap there looked at my screen and acknowledged the issue, before giving me a brand new iMac.
    My previous model came with Snow Leopard pre-installed, which I upgraded to Lion. This new, second iMac is a relatively new one as it has Lion pre-installed. Feeling hopeful, I've just arrived home and unpackaged my new computer.
    The result? EXACTLY the same issue. My Twitter window on the far left of my display has been open for no longer than about 7 or 8 mins, and I can clearly see the display pictures from my follwees burnt into the screen when I full screen a dark app like Snow Leopard.
    I'm wondering whether this is a Lion issue? Should I wait for a software update before returning it again? It's not something that's going to be annoying on a day-to-day basis, but now that I know it's doing it, I can't help but keep checking when I open iPhoto.
    PEOPLE WITH NEW 27" iMAC's: Would you please perform the following test for me and let me know the results?
    1. Open up a white backgrounded application, such as Twitter, Skype, or Safari.
    2. Leave it on screen (anywhere, but far left seems to be worst) for about 5 to 10mins.
    3. Open up iPhoto with it's grey full screen background, or set your wallpaper to a flat colour dark grey.
    4. Now minimise the white backgrounded windows, and switch to a grey background with no windows in front of it.
    5. Look carefully at your screen: can you still see an outline of/text from the window in the position that it was, like it's burnt into the screen?
    Thanks in advance to anyone that can perform this for me.

  • Why are iLife and iWork apps not installed on my Mac?

    Recently purchased a used iMac late 2013 model and met the seller at the Apple Store to factory reset the mac. Well that was done succesfully but upon my return home and unboxing the iMac once i logged on and went to look for iMovie app it was nowhere to be found. I looked for the other apps from iLife and iWork and they were nowhere either. I tried the search tool and nothing came up and when I went to search for them in the app store thinking I just had to re-download them they were not FREE for me to install.
    Isn't iLife and iWorks included with every mac for free? CAn someone please help me get these if I am entitled to them for free or explain why I have to pay for them? TIA.
    -Freddy

    They are free for the initial owner and if he accepts them at the app store, then they are permanently tied to his Apple ID and password. Their licenses are not transferable - subsequent owners must purchase the apps if they want them. Here are some excerpts from the licensing agreement:
    B. If you obtained the Apple Software preinstalled by Apple on Apple-branded hardware, in order to use
    the Apple Software on more than one of the Apple-branded computers you own or control under the
    Usage Rules, you must log in to the Mac App Store and associate the Apple Software with your Mac
    App Store account. If you choose not to associate the preinstalled Apple Software with your Mac App
    Store account, you are permitted to install, use and run one (1) copy of the Apple Software on a single
    Apple-branded computer at any one time. Please also note that by choosing to associate the
    preinstalled Apple Software with your Mac App Store account, you will also associate any other Apple
    software applications that also came preinstalled by Apple on your Apple-branded hardware at the time
    of purchase (excluding OS X, Safari, and system applications and tools).
    and:
    Apple Software obtained from the Mac App Store is not transferable. If you sell your Apple-branded
    hardware to a third party, you must remove the Apple Software from the Apple-branded hardware before doing so.
    If the initial owner does NOT associate the software with his app store account (in other words, he does not accept / install them), then he may transfer his license rights to a subsequent buyer.

  • Multiple return values (Bug-ID 4222792)

    I had exactly the same request for the same 3 reasons: strong type safety and code correctness verification at compile-time, code readability and ease of mantenance, performance.
    Here is what Sun replied to me:
    Autoboxing and varargs are provided as part of
    JSRs 14 and 201
    http://jcp.org/en/jsr/detail?id=14
    http://jcp.org/en/jsr/detail?id=201
    See also:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://developer.java.sun.com/developer/earlyAccess/adding_generics/index.html
    Multiple return values is covered by Bug-ID 4222792
    Typically this is done by returning an array.
    http://developer.java.sun.com/developer/bugParade/bugs/4222792.html
    That's exactly the problem: we dynamically create instances of array objects that would better fit well within the operand stack without stressing the garbage collector with temporary Array object instances (and with their backing store: 2 separate allocations that need to be recycled when it is clearly a pollution that the operand stack would clean up more efficiently)
    If you would like to engage in a discussion with the Java Language developers, the Generics forum would be a better place:
    http://forum.java.sun.com/forum.jsp?forum=316
    I know that (my report was already refering to the JSR for language extension) Generics is not what I was refering to (even if a generic could handle multiple return values, it would still be an allocated Object
    instance to pack them, i.e. just less convenient than using a static class for type safety.
    The most common case of multiple return values involve values that have known static datatypes and that should be checked with strong typesafety.
    The simple case that involves returning two ints then will require at least two object instances and will not solve the garbage collection overhead.
    Using a array of variable objects is exactly similar, except that it requires two instances for the components and one instance for the generic array container. Using extra method parameters with Integer, Byte, ... boxing objects is more efficient, but for now the only practical solution (which causes the least pollution in the VM allocator and garbage collector) is to use a custom class to store the return values in a single instance.
    This is not natural, and needlessly complexifies many interfaces.
    So to avoid this pollution, some solutions are used such as packing two ints into a long and returning a long, depacking the long after return (not quite clean but still much faster at run-time for methods that need to be used with high frequencies within the application. In some case, the only way to cut down the overhead is to inline methods within the caller code, and this does not help code maintenance by splitting the implementation into small methods (something that C++ can do very easily, both because it supports native types parameters by reference, and because it also supports inline methods).
    Finally, suppose we don't want to use tricky code, difficult to maintain, then we'll have to use boxing Object types to allow passing arguments by reference. Shamely boxed native types cannot be allocated on the operand stack as local variables, so we need to instanciate these local variables before call, and we loose the capacity to track the cases where these local variables are not really initialized by an effective call to the method that will assign them. This does not help debugging, and is against the concept of a strongly typed language like Java should be:
    Java makes lots of efforts to track uninitialized variables, but has no way to determine if an already instanciated Object instance refered in a local variable has effectively received an effective assignment because only the instanciation is kept. A typical code will then need to be written like this:
    Integer a = null;
    Integer b = null;
    if (some condition) {
    //call.method(a, b, 0, 1, "dummy input arg");
    // the method is supposed to have assigned a value to a and b,
    // but can't if a and b have not been instanciated, so we perform:
    call.method(a = new Integer(), b = new Integer(), 0, 1, "dummy input
    arg");
    // we must suppose that the method has modified (not initialized!)
    the value
    // of a and b instances.
    now.use(a.value(), b.value())
    // are we sure here that a and b have received a value????
    // the code may be detected at run-time (a null exception)
    // or completely undetected (the method() above was called but it
    // forgot to assign a value to its referenced objects a and b, in which
    // case we are calling in fact: now.use(0, 0); with the default values
    // or a and b, assigned when they were instanciated)
    Very tricky... Hard to debug. It would be much simpler if we just used:
    int a;
    int b;
    if (some condition) {
    (a, b) = call.method(0, 1, "dummy input arg");
    now.use(a, b);
    The compiler would immediately detect the case where a and b are in fact not always initialized (possible use bere initialization), and the first invoked call.method() would not have to check if its arguments are not null, it would not compile if it forgets to return two values in some code path...
    There's no need to provide extra boxing objects in the source as well as at run-time, and there's no stress added to the VM allocator or garbage collector simply because return values are only allocated on the perand stack by the caller, directly instanciated within the callee which MUST (checked at compile-time) create such instances by using the return statement to instanciate them, and the caller now just needs to use directly the variables which were referenced before call (here a and b). Clean and mean. And it allows strong typechecking as well (so this is a real help for programmers.
    Note that the signature of the method() above is:
    class call {
    (int, int) method(int, int, String) { ... }
    id est:
    class "call", member name "method", member type "(IILjava.lang.string;)II"
    This last signature means that the method can only be called by returning the value into a pair of variables of type int, or using the return value as a pair of actual arguments for another method call such as:
    call.method(call.method("dummy input arg"), "other dummy input arg")
    This is strongly typed and convenient to write and debug and very efficient at run-time...

    Can anyone give me some real-world examples where
    multiple return values aren't better captured in a
    class that logically groups those values? I can of
    course give hundreds of examples for why it's better
    to capture method arguments as multiple values instead
    of as one "logical object", but whenever I've hankered
    for multiple return values, I end up rethinking my
    strategy and rewriting my code to be better Object
    Oriented.I'd personally say you're usually right. There's almost always a O-O way of avoiding the situation.
    Sometimes though, you really do just want to return "two ints" from a function. There's no logical object you can think of to put them in. So you end up polluting the namespace:
    public class MyUsefulClass {
    public TwoInts calculateSomething(int a, int b, int c) {
    public static class TwoInts {
        //now, do I use two public int fields here, making it
        //in essence a struct?
       //or do I make my two ints private & final, which
       //requires a constructor & two getters?
      //and while I'm at it, is it worth implementing
      //equals(), how about hashCode()? clone()?
      //readResolve() ?
    }The answer to most of the questions for something as simple as "TwoInts" is usually "no: its not worth implementing those methods", but I still have to think about them.
    More to the point, the TwoInts class looks so ugly polluting the top level namespace like that, MyUsefulClass.TwoInts is public, that I don't think I've ever actually created that class. I always find some way to avoid it, even if the workaround is just as ugly.
    For myself, I'd like to see some simple pass-by-value "Tuple" type. My fear is it'd be abused as a way for lazy programmers to avoid creating objects when they should have a logical type for readability & maintainability.
    Anyone who has maintained code where someone has passed in all their arguments as (mutable!) Maps, Collections and/or Arrays and "returned" values by mutating those structures knows what a nightmare it can be. Which I suppose is an argument that cuts both ways: on the one hand you can say: "why add Tuples which would be another easy thing to abuse", on the other: "why not add Tuples, given Arrays and the Collections framework already allow bad programmers to produce unmainable mush. One more feature isn't going to make a difference either way".
    Ho hum.

  • My iPhone 5S was ignored to claim with Thai wireless carrier

    I really confident in Apple product a lot, when Apple releases the new products I feel that I would like to be the owner of them all.
    Apple is really famous in Thailand, iPhone is the top ranking of product that Thai people would like to be owned. I'm the one of these all people.
    I buy iPhone 5S after it sold by Truemove-H. With confidentially in Apple product and the first Thai authorized carrier by Apple, I booked and brought it immediately.
    My first unboxing of the new iPhone 5S was in Central Chiang Rai (iBeat). I have booked two iPhones. I unboxed the first iPhone (32GB) and found 2 dead pixels on screen, unfortunately the second iPhone (16GB) also have a dead pixel. Luckily, they returned me a money. This unboxing disappointed me a little bit in them of Apple product quality.
    I got a call from another shop, they said that my iPhone 5s that I had booked is available. I came to the shop and unbox it, I carefully checked the dead pixels and others majority thing, nothing dysfunctional.
    I decided to buy and came-back to my home until I later found that the screen is loose and I can hear the sound (the clicking sound) when I press on the top right corner of the screen.
    I was worried a lot and contact to the Apple via chatting, the staff suggested me that I should to contact to the wireless carrier (Truemove H). I was not complacent to contact to Truemove Shop in Central Airport Ching Mai. I waited to talk with them around 1 hours. When was in my queue, I talked to them that How can I use my new iPhone with a loose screen? I really worried about this a lot because I should be the way it is. Truemove- H staff answer me that this kind of issue cannot be claim and return as a new phone or refurbished phone. It is still working, there is no problem with software, we could not claim this iPhone for you.
    I felt disappoint again when I have heard the staff said to me like this. I felt that the Apple standard unable to use in Apple product. I think if I buy this iPhone with Apple directly it would not be a problem like this.
    I would like to ask to Apple that how can I do next? I don't mind that I would get a refurbished one or not. I just worry about the standard that Apple have in each country, it quite strongly different. for the example; I can claim this in US or UK but I can't do anything in Thailand.
    How can I recall my feeling and confidentiality from Apple?
    *sorry about grammar and language used, I'm not a native speaker.
    The video shows how my iPhone 5S has a loose screen: https://www.youtube.com/watch?v=bLwUWbfznZg&feature=youtu.be

    What is your technical support question for your fellow users in these user to user support forums?
    If English is not your native language, stop posting in English.  Post in your native language to clearly communicate the issue.
    And while you are at it, STOP rambling.  Get to the point.  We do not need nor care for your praise of Apple and the irrelevant back story.

Maybe you are looking for

  • What is the best Codec in Adobe CC for Multicam Playback and edit?

    I have been editing in FCP 7 for years and decided to make the switch (But I didn't want to ruin my old system (which is still good and seems to run better than the new one) so I bought a Mac-Mini as a test to play with CC).  I admit my new CPU is a

  • 10.2.0.4 patch on single instance standby database

    Hi All, We have production database 10.2.0.3 running with RAC having 2 nodes on Solaris 10. We have patched this databases to 10.2.0.4 (both nodes) on production without any issue. We have a physical standby database (10.2.0.3) with 2 nodes on solari

  • Can flash accept data?

    Is it possible for flash to accept value from a database? Here is what I want to do: There is a database storing values "postions" and "descriptions" (there are 2 coloumns named so to store the values). In flash I want to accept the values entered in

  • How to get started with visual composer 6.0??????

    I have downloaded the setup.exe from service.sap.com. But after installing it i am not being able to view any of the element in the different tabs like.....define properties, select data services, define fields, design the views, add elements.......t

  • URL read - 502 error

    Hi, I am trying to read and write a file by using a URL. I have already tested the reading a write for the .doc file locally. However, when I tried it with the ULR I get. Server returned HTTP response code: 502 for URL: I check on the 502 error: 502