<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Behaviour of int|Integer in context variables in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302609#M74571</link>
    <description>&lt;P&gt;Hi Dear,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;For this we have to understand the&amp;nbsp;&lt;SPAN&gt;Difference between equals method and "==" operator in Java.&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;Both equals() method and == operator is used to compare two objects in Java.&amp;nbsp;&lt;STRONG&gt;==&amp;nbsp;&lt;/STRONG&gt;is an operator and&amp;nbsp;equals()&amp;nbsp;is method. But == operator compare reference or memory location of objects in the&amp;nbsp;heap&amp;nbsp;whether they point to the same location or not . Whenever we create any object using the&amp;nbsp;&lt;STRONG&gt;operator new&amp;nbsp;&lt;/STRONG&gt;it will create new memory location for that object. So we use == operator to check memory location or address of two objects are same or not.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;When we talk about&amp;nbsp;equals() method&amp;nbsp;the main purpose is to compare the state of two objects or contents of the object. But there is one relation between this two is&amp;nbsp;&lt;STRONG&gt;default implementation of&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;equals()&lt;/STRONG&gt;&amp;nbsp;method&amp;nbsp;&amp;nbsp;work like == means it will check the memory reference of the object if they point to the same location then two objects are equals and it is defined in&amp;nbsp;&amp;nbsp;Object class .as we know&amp;nbsp;java.lang.Object&amp;nbsp;class is parent for every other object so default&amp;nbsp;&amp;nbsp;implementation is common for every object but if we want to override the method&amp;nbsp;and want to give own implementation&amp;nbsp;&amp;nbsp;for checking the equality of two objects we can do, and most of the Java&amp;nbsp;&amp;nbsp;classes have their own implementation for equals method where they check the contents of the object.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;Coding Example:&lt;/SPAN&gt;&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         // Java program to understand 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         // the concept of == operator 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         public class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s1 = new String("HELLO"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s2 = new String("HELLO"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1 == s2); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1.equals(s2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;false
true&amp;nbsp;&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Explanation:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Here we are creating two objects namely s1 and s2.&lt;/P&gt; 
  &lt;UL&gt; 
   &lt;LI&gt;Both s1 and s2 refers to different objects.&lt;/LI&gt; 
   &lt;LI&gt;When we use == operator for s1 and s2 comparison then the result is false as both have different addresses in memory.&lt;/LI&gt; 
   &lt;LI&gt;Using equals, the result is true because its only comparing the values given in s1 and s2.&lt;/LI&gt; 
  &lt;/UL&gt;&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;Let us understand both the operators in detail:&lt;/P&gt; 
&lt;P align="center"&gt;&lt;STRONG&gt;Equality operator(==)&lt;/STRONG&gt;&lt;/P&gt; 
&lt;P&gt;We can apply equality operators for every primitive types including boolean type. we can also apply equality operators for object types.&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         // Java program to illustrate 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         // == operator for compatible data 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         // types 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// integer-type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(10 == 20); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// char-type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println('a' == 'b'); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number12 index11 alt1"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number13 index12 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// char and double type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number14 index13 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println('a' == 97.0); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number15 index14 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number16 index15 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// boolean type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number17 index16 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(true == true); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number18 index17 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number19 index18 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;false
false
true
true&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;STRONG&gt;.equals()&lt;/STRONG&gt;&lt;/P&gt; 
&lt;P&gt;In Java, string equals() method compares the two given strings based on the data/content of the string. If all the contents of both the strings are same then it returns true. If all characters are not matched then it returns false.&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         public class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t1 = new Thread(); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t2 = new Thread(); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t3 = t1; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s1 = new String("GEEKS"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s2 = new String("GEEKS"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1 == t3); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number12 index11 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1 == t2); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number13 index12 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number14 index13 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1.equals(t2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number15 index14 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1.equals(s2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number16 index15 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number17 index16 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;true
false
false
true&lt;/PRE&gt; 
&lt;P&gt;&lt;STRONG&gt;Explanation:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Here we are using .equals method to check whether two objects contains the same data or not.&lt;/P&gt; 
&lt;UL&gt; 
 &lt;LI&gt;In the above example, we are creating 3 Thread objects and 2 String objects.&lt;/LI&gt; 
 &lt;LI&gt;In the first comparison, we are checking that t1 == t3 or not. As we know that both&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;t1 and t3 pointing to same object&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;that’s why it returns true.&lt;/LI&gt; 
 &lt;LI&gt;When we are comparing 2 String objects by .equals() operator then we are checking that is both objects contains the same data or not.&lt;/LI&gt; 
 &lt;LI&gt;Both the objects contains the same String i.e. GEEKS that’s why it returns true.&lt;/LI&gt; 
&lt;/UL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 06 Mar 2018 14:04:30 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-03-06T14:04:30Z</dc:date>
    <item>
      <title>Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302603#M74565</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I want to understand the default behaviour of &lt;STRONG&gt;int | Integer&lt;/STRONG&gt; datatype in talend. Any urgent help would be appreciated greatly.&lt;/P&gt;
&lt;P&gt;If I have defined two context variables as &lt;STRONG&gt;int | Integer&lt;/STRONG&gt;&amp;nbsp; datatype and default value 0 (attached pic) then in the job, I am comparing these two context variables in &lt;STRONG&gt;"IF"&lt;/STRONG&gt; condition as below&lt;/P&gt;
&lt;PRE&gt;(context.recordCountInFooter==context.recordCountInFile)&lt;/PRE&gt;
&lt;P&gt;I believe this should return true if my both values are same because both are int. But sometimes it returns false even if both values are same. Then when I change my code to as below it returns true.&lt;/P&gt;
&lt;PRE&gt;(context.recordCountInFooter).equals(context.recordCountInFile)&lt;/PRE&gt;
&lt;P&gt;So here i want to know that when values are same, how does Talend interpret the datatype ? Does it interpret as int or Integer ?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 09:20:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302603#M74565</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T09:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302604#M74566</link>
      <description>&lt;P&gt;Moreover, I have found that, if my value is 127 then == returns true, but as soon as the value is 128 == returns false. Can anyone plz help why == does not work when my value exceeds 127 ?&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 09:59:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302604#M74566</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T09:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302605#M74567</link>
      <description>&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;yes for integers we have to compare the int values as below then u wont get false&lt;/P&gt;&lt;PRE&gt;(context.recordCountInFooter.intValue()==context.recordCountInFile.intValue())&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Mar 2018 10:16:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302605#M74567</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T10:16:20Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302606#M74568</link>
      <description>&lt;P&gt;is that solution correct ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 11:14:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302606#M74568</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T11:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302607#M74569</link>
      <description>&lt;P&gt;Yes, correct but also possible :&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;x&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;compareTo&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;y&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt; &amp;gt;= 127 &lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;It has to do something with primitive types: check this&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A title="Java and comparison" href="https://stackoverflow.com/questions/1514910/how-to-properly-compare-two-integers-in-java" target="_self" rel="nofollow noopener noreferrer"&gt;StackOverflow similar question&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 11:39:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302607#M74569</guid>
      <dc:creator>Jesperrekuh</dc:creator>
      <dc:date>2018-03-06T11:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302608#M74570</link>
      <description>As a solution, either I have to use .equals() method or convert the variable to its primitive type by using intValue() and then compare it with ==.&lt;BR /&gt;But Talend I think by default considers every object as a wrapper datatype and hence we need such conversions or equals() method.</description>
      <pubDate>Tue, 06 Mar 2018 13:28:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302608#M74570</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T13:28:20Z</dc:date>
    </item>
    <item>
      <title>Re: Behaviour of int|Integer in context variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302609#M74571</link>
      <description>&lt;P&gt;Hi Dear,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;For this we have to understand the&amp;nbsp;&lt;SPAN&gt;Difference between equals method and "==" operator in Java.&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;Both equals() method and == operator is used to compare two objects in Java.&amp;nbsp;&lt;STRONG&gt;==&amp;nbsp;&lt;/STRONG&gt;is an operator and&amp;nbsp;equals()&amp;nbsp;is method. But == operator compare reference or memory location of objects in the&amp;nbsp;heap&amp;nbsp;whether they point to the same location or not . Whenever we create any object using the&amp;nbsp;&lt;STRONG&gt;operator new&amp;nbsp;&lt;/STRONG&gt;it will create new memory location for that object. So we use == operator to check memory location or address of two objects are same or not.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;When we talk about&amp;nbsp;equals() method&amp;nbsp;the main purpose is to compare the state of two objects or contents of the object. But there is one relation between this two is&amp;nbsp;&lt;STRONG&gt;default implementation of&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;equals()&lt;/STRONG&gt;&amp;nbsp;method&amp;nbsp;&amp;nbsp;work like == means it will check the memory reference of the object if they point to the same location then two objects are equals and it is defined in&amp;nbsp;&amp;nbsp;Object class .as we know&amp;nbsp;java.lang.Object&amp;nbsp;class is parent for every other object so default&amp;nbsp;&amp;nbsp;implementation is common for every object but if we want to override the method&amp;nbsp;and want to give own implementation&amp;nbsp;&amp;nbsp;for checking the equality of two objects we can do, and most of the Java&amp;nbsp;&amp;nbsp;classes have their own implementation for equals method where they check the contents of the object.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;Coding Example:&lt;/SPAN&gt;&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         // Java program to understand 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         // the concept of == operator 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         public class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s1 = new String("HELLO"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s2 = new String("HELLO"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1 == s2); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1.equals(s2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;false
true&amp;nbsp;&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Explanation:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Here we are creating two objects namely s1 and s2.&lt;/P&gt; 
  &lt;UL&gt; 
   &lt;LI&gt;Both s1 and s2 refers to different objects.&lt;/LI&gt; 
   &lt;LI&gt;When we use == operator for s1 and s2 comparison then the result is false as both have different addresses in memory.&lt;/LI&gt; 
   &lt;LI&gt;Using equals, the result is true because its only comparing the values given in s1 and s2.&lt;/LI&gt; 
  &lt;/UL&gt;&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;Let us understand both the operators in detail:&lt;/P&gt; 
&lt;P align="center"&gt;&lt;STRONG&gt;Equality operator(==)&lt;/STRONG&gt;&lt;/P&gt; 
&lt;P&gt;We can apply equality operators for every primitive types including boolean type. we can also apply equality operators for object types.&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         // Java program to illustrate 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         // == operator for compatible data 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         // types 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// integer-type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(10 == 20); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// char-type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println('a' == 'b'); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number12 index11 alt1"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number13 index12 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// char and double type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number14 index13 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println('a' == 97.0); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number15 index14 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number16 index15 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// boolean type 
       &lt;/DIV&gt; 
       &lt;DIV class="line number17 index16 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(true == true); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number18 index17 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number19 index18 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;false
false
true
true&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;STRONG&gt;.equals()&lt;/STRONG&gt;&lt;/P&gt; 
&lt;P&gt;In Java, string equals() method compares the two given strings based on the data/content of the string. If all the contents of both the strings are same then it returns true. If all characters are not matched then it returns false.&lt;/P&gt; 
&lt;DIV&gt; 
 &lt;DIV class="syntaxhighlighter nogutter  java"&gt; 
  &lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt; 
   &lt;TBODY&gt; 
    &lt;TR&gt; 
     &lt;TD&gt; 
      &lt;DIV class="container"&gt; 
       &lt;DIV class="line number1 index0 alt2"&gt;
         public class Test { 
       &lt;/DIV&gt; 
       &lt;DIV class="line number2 index1 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) 
       &lt;/DIV&gt; 
       &lt;DIV class="line number3 index2 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ 
       &lt;/DIV&gt; 
       &lt;DIV class="line number4 index3 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t1 = new Thread(); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number5 index4 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t2 = new Thread(); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number6 index5 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t3 = t1; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number7 index6 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number8 index7 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s1 = new String("GEEKS"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number9 index8 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String s2 = new String("GEEKS"); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number10 index9 alt1"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number11 index10 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1 == t3); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number12 index11 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1 == t2); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number13 index12 alt2"&gt;
         &amp;nbsp; 
       &lt;/DIV&gt; 
       &lt;DIV class="line number14 index13 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(t1.equals(t2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number15 index14 alt2"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s1.equals(s2)); 
       &lt;/DIV&gt; 
       &lt;DIV class="line number16 index15 alt1"&gt;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
       &lt;/DIV&gt; 
       &lt;DIV class="line number17 index16 alt2"&gt;
         } 
       &lt;/DIV&gt; 
      &lt;/DIV&gt;&lt;/TD&gt; 
    &lt;/TR&gt; 
   &lt;/TBODY&gt; 
  &lt;/TABLE&gt; 
 &lt;/DIV&gt; 
&lt;/DIV&gt; 
&lt;P&gt;Output:&lt;/P&gt; 
&lt;PRE&gt;true
false
false
true&lt;/PRE&gt; 
&lt;P&gt;&lt;STRONG&gt;Explanation:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Here we are using .equals method to check whether two objects contains the same data or not.&lt;/P&gt; 
&lt;UL&gt; 
 &lt;LI&gt;In the above example, we are creating 3 Thread objects and 2 String objects.&lt;/LI&gt; 
 &lt;LI&gt;In the first comparison, we are checking that t1 == t3 or not. As we know that both&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;t1 and t3 pointing to same object&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;that’s why it returns true.&lt;/LI&gt; 
 &lt;LI&gt;When we are comparing 2 String objects by .equals() operator then we are checking that is both objects contains the same data or not.&lt;/LI&gt; 
 &lt;LI&gt;Both the objects contains the same String i.e. GEEKS that’s why it returns true.&lt;/LI&gt; 
&lt;/UL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2018 14:04:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Behaviour-of-int-Integer-in-context-variables/m-p/2302609#M74571</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-03-06T14:04:30Z</dc:date>
    </item>
  </channel>
</rss>

