354 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
Jon Paris explains how to use the new free format support in RPG TR7
Tue, Apr 22nd 2014 29
Platzsparen am Domino Server
Tue, Apr 22nd 2014 98
Ubuntu 14.04 LTS freigegeben.
Fri, Apr 18th 2014 71
Use the Lotus Symphony sidebar in Libreoffice
Thu, Apr 17th 2014 79
Limits of Db/2 in IBM i V7R1
Wed, Apr 16th 2014 70
Windows memory management explained in Detail
Tue, Apr 15th 2014 121
IBM has announced Technology Refresh 8 for IBM i V7R1
Tue, Apr 8th 2014 82
Top 10
Motorola kündigt gerade das neue Moto G Smartphone zu einem wirklichen Hammerpreis an.
Wed, Nov 13th 2013 348
Domino/Notes 9.0.1 FP1 has been postponed to April.
Tue, Mar 25th 2014 334
IBM rolls out a new design for the lotus developerworks website
Fri, Mar 21st 2014 267
IBM Notes/Domino 8.5.3 FP6 is available on Fix Central
Wed, Dec 11th 2013 217
Force the Notes client to refresh policies from the server
Thu, Aug 8th 2013 216
Show pictures in emails from iPhones as attachments and not as inline images
Wed, Aug 14th 2013 191
Become an expert in TCP/IP networking
Sun, Mar 23rd 2014 186
Rational Developer for System i 9 is available
Fri, Jun 28th 2013 182
The IBM Knowledge Center has been launched
Fri, Mar 14th 2014 175
IBM Sametime 9 from zero to hero slides has been posted on slideshare
Sun, Nov 10th 2013 172


"equal" vs "==" in Java
   

Ein typischer Anfängerfehler in Java ist, zwei Objekte in einer if Klausel mit "==" statt mit .equals() zu vergleichen. Dies ist aber in den meisten Fällen grundfalsch. Das tückische dabei ist, dass der Fehler nicht immer sofort auffällt, da unter manchen Umständen der Vergleich mit "==" auch funktioniert.

Um zu verstehen warum die beiden Vergleiche unterschiedlich sind, muss man zuerst wissen, wie Java eigentlich Objekte verwaltet. Wenn mit new ein neues Objekt erzeugt wird und einer Variable zugewiesen wird, wird nicht das Objekt in der Variable gespeichert, sondern das Objekt wird am Heap (Hauptspeicher) erzeugt und ein Zeiger auf die Stelle im Heap an der das Objekt gespeichert ist, wird der Variable zugewiesen. Man kann sich sozusagen die Variable als einen primitiven Datentyp vorstellen, der eine Referenz auf den Heap speichert. Mehrere Variablen können die selbe Referenz auf das selbe Objekt im Heap zugewiesen haben. Wenn nun mit "==" verglichen wird, wird das Objekt im Heap gar nicht angeschaut, sondern es wird nur verglichen, ob die Variable die gleiche Referenz enthält. Wenn ja wird true zurückgeliefert und wenn nein wird false zurückgeliefert. Ganz anders verhält es sich beim equals(). Hier müssen die Objekte nicht einmal vom gleichen Typ sein, sondern es kommt auf die Implementierung der "equals" Methode an, ob das Ergebnis true oder false ist. Im Normalfall wird man immter mit equals() vergleichen, da ich im Normalfall wissen will, ob es sich um ein logisch gleiches Objekt handelt und nicht um das selbe Objekt. Wenn alles so klar ist, warum funktioniert dann folgender Code:


String test1="Test";
String test2="Test";
System.out.println(test1==test2); //Bitte auf keinen Fall so machen
System.out.println(test1.equals(test2); //So vergleicht man richtig.
Im Normalfall würde man erwarten, da man zwei String Literale hat, dass der erste Vergleich false ergeben würde. Doch die JVM verwendet für Stringliterale einen Cache und so wird der zweite Literal wegoptimiert und beide Variablen verweisen auf das selbe Objekt im String Cache. Nur sollte man sich auf keinen Fall auf das verlassen, da eine andere JVM Implementierung auf diesen Cache eventuell verzichtet, oder der Cache bereits voll ist und dann hat man plötzlich zwei unterschiedliche Objekte und der erste Vergleich ergibt false.

---------------------
http://petterralf.blogspot.com/2012/12/equal-vs-in-java.html
Dec 14, 2012
42 hits



Recent Blog Posts
29


Jon Paris explains how to use the new free format support in RPG TR7
Tue, Apr 22nd 2014 5:40a   Ralf Petter
With Technology Refresh 7 IBM has enhanced the good old RPG with new free format syntax for file description and data structures. With this enhancements you can write a complete program without using column based statements. The documentation for this features is still a little bit weak, but fortunatly Jon Paris has posted two good tips on this topic. Four Reasons RPG Geezers Should Care About The New Free-Form RPG The Geezer's Guide to Free-Form RPG, Part 2: Data Structures and More [read] Keywords: ibm
98


Platzsparen am Domino Server
Tue, Apr 22nd 2014 5:22a   Ralf Petter
Ulrich Krause hat eine fantastische Präsentation auf Slideshare gestellt die einen Überblick über alle Techniken enthält die der Domino Server in den letzten Versionen bekommen hat um Speicherplatz zu sparen und die IO Performance zu steigern. Die Präsentation enthält auch viele Tips und Tricks und kann mit Sicherheit das nächste Hardwareupgrade sparen. Honey, I shrunk the data - Mehr Platz am IBM Domino Server [read] Keywords: domino ibm notes server
71


Ubuntu 14.04 LTS freigegeben.
Fri, Apr 18th 2014 7:12a   Ralf Petter
Ubuntu ist nach wie vor trotz der manchmal unverständlichen Alleingänge von Mark Shuttleworth die beste Anfänger Linux Desktop Distribution. Auch für Anwender die jetzt nicht Linuxexperten sondern ein einfach zu bedienendes und sicheres Betriebssystem zum Arbeiten suchen ist Ubuntu sicher erste Wahl. Die neueste Version 14.04 LTS wurde gerade freigegeben und für alle die immer schon einmal einen Versuch wagen wollten ist jetzt sicher der beste Termin da 14.04 eine LTS Long Term Support) Ver [read] Keywords: desktop linux ubuntu
79


Use the Lotus Symphony sidebar in Libreoffice
Thu, Apr 17th 2014 5:14a   Ralf Petter
One of my favorite features in Lotus Symphony was the sidebar. On today's wide screens a classic toolbar or the ribbons in Microsoft Office on top of the document does not make sense, especially in a Text processor where the documents are in portrait format. A sidebar as in symphony uses the screen space much more efficiently. The sad thing is that IBM has abandoned Lotus Symphony, but fortunately IBM has open sourced their changes to the Openoffice codebase. So i can use my favorite feature in [read] Keywords: ibm lotus symphony microsoft office openoffice wiki
70


Limits of Db/2 in IBM i V7R1
Wed, Apr 16th 2014 6:11a   Ralf Petter
Yes our mighty IBM i Db2 can really handle big databases, but everything in our universe is limited. So if you need to know the exact limits of Db2 on the IBM i you can find them in the new IBM knowledge center. [read] Keywords: ibm db2
121


Windows memory management explained in Detail
Tue, Apr 15th 2014 4:47a   Ralf Petter
There are so many myths about memory management in windows. Often people use the task manager to show that program X is a resource hog, because it is eating too much main memory. But most time they are using the wrong columns and make wrong assumptions whats going on. Analyzing memory problems on windows needs a deep understanding how memory management in windows works and which tools you can use to find problems. One of the best sources for this kind of information is Mark Russinovich the auth [read] Keywords:
82


IBM has announced Technology Refresh 8 for IBM i V7R1
Tue, Apr 8th 2014 8:15a   Ralf Petter
Today IBM has announced the TR8 for IBM i V7R1 to be available on June 6. 2014. You can find detailed descriptions about the new features on developerworks. I think we will see an announcement of the new Base Version V7R2 with many new functions at the end of April or in early may. So stay tuned for the latest news. [read] Keywords: ibm community wiki




87


Wow die Hacker fangen auch immer früher an. Fünfjähriger knackt neue XBox One
Sat, Apr 5th 2014 6:15a   Ralf Petter
Im Alter von 5 Jahren bereits eine XBox One zu knacken, kommt mir doch eher früh vor. In dem Alter hatte ich noch nicht mal meinen ersten Computer. Bricht der Bursch dann mit 10 Jahren ins Pentagon ein oder was? Cool finde ich auf jeden Fall die Reaktion von Microsoft, dass Sie in für das Finden der Sicherheitlücke belohnt haben. Details dazu im Online Standard [read] Keywords: microsoft
106


Schade Ubuntu One wird eingestellt.
Wed, Apr 2nd 2014 10:11a   Ralf Petter
Canonical die Firma hinter Ubuntu stellt seinen Cloud Speicherdienst Ubuntu One per 31. Juli ein. Bis dahin kann man noch seine bei Ubuntu One gespeicherten Daten wegkopieren. Ubuntu One war für Ubuntu Benutzer eine tolle Sache und es ist schade, dass es jetzt einfach so eingestellt wird. Vor allem ist dies wieder ein Paradebeispiel warum es riskant ist auf Clouddienste zu setzen. Ich habe z.B. Musik bei Ubuntu One gekauft und auch jede Menge Dateien auf Ubuntu One synchronisiert. Jetzt muss ic [read] Keywords: ubuntu
97


IBM i Application modernization
Wed, Mar 26th 2014 10:12a   Ralf Petter
Today the long awaited redbook for application modernization on the IBM i has been published as a Draft version. Whether you are a old school RPG Developer or you have already started to modernize your applications this is the redbook to get a high level overview what possibilities are available on the IBM i to reach your goal. All topics like new tooling, new languages and new Syntax of existing languages on the IBM i are discussed in this redbook. The redbook gives you only an overview. If you [read] Keywords: ibm application applications




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition