<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Please note these lists are for discussion of OpenJDK
development, not for getting help on using Java.</p>
<p>Your code below seems okay so you need to check how you are
setting the id's in the first place as the problem may be at that
end.</p>
<p>David<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 26/10/2024 10:27 pm, ArbolOne wrote:<br>
</div>
<blockquote type="cite" cite="mid:99682da2-d4bd-48fd-994e-90255b8b7ce2@gmail.com">
<p><font face="Helvetica, Arial, sans-serif">Thanks!</font></p>
<p><font face="Helvetica, Arial, sans-serif">I realized the
mistake after I posted the question, however, my real concern
is about displaying the data inside the ArrayList.</font></p>
<p><font face="Helvetica, Arial, sans-serif">// updated example</font></p>
<p><font face="Helvetica, Arial, sans-serif">public class
NamesRecord{<br>
String id;<br>
...<br>
// Setters and Getters<br>
public String getId(){ return this.id; }<br>
}<br>
<br>
// Tres Dorritos Despues<br>
// aoe.getAllNames() returns an
ArrayList<NamesRecord> object containing 13 elements<br>
// each element has a unique value<br>
var localArrayList = new
ArrayList<NamesRecord>(aoe.getAllNames());<br>
for(int i = 0; i != localArrayList.size(); i++){<br>
<b><i>System.err.println(localArrayList.get(i).getId()
);</i></b> // <-- keeps displaying the same value<br>
<br>
}</font></p>
<p><font face="Helvetica, Arial, sans-serif">Where did I go wrong
here?</font></p>
<p><font face="Helvetica, Arial, sans-serif"><br>
</font></p>
<p><font face="Helvetica, Arial, sans-serif">Thanks so much in
advance.</font></p>
<p><font face="Helvetica, Arial, sans-serif"><br>
</font></p>
<div class="moz-cite-prefix">On 2024-10-26 7:43 a.m., Olexandr
Rotan wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAL5bRt9dguzxi6zr49AA8WL8AGR=gUFYuKMDCSTjZN917MThYA@mail.gmail.com">
<p dir="ltr">Hello. In both examples you redeclare variable
inside loop on each new iteration. This behaviour is shared
for all c-like languages. Each time you enter a loop body, you
"redeclare" (doubt it's JLS concept) variable and initialize
it with value 1. In the end of loop you in fact increment
variable, but it has no effect since variable is reinitialized
on next loop iteration.<br>
Your best choice is to move variable intiialization right
before the loop. This way you will get the desired behaviour.<br>
PS: just a suggestion for you as newbie. Take a look at "var"
keyword. This will make your programing experience much more
pleasant imo :)</p>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Oct 26, 2024, 13:18
ArbolOne <<a href="mailto:arbolone@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">arbolone@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="padding-bottom:1px">
<p><font face="Helvetica, Arial, sans-serif">openjdk
17.0.13 2024-10-15<br>
OpenJDK Runtime Environment (build
17.0.13+11-Debian-2deb12u1)<br>
OpenJDK 64-Bit Server VM (build
17.0.13+11-Debian-2deb12u1, mixed mode, sharing)<br>
<br>
public class NamesRecord{<br>
String id;<br>
...<br>
// Setters and Getters<br>
public String getId(){<br>
return <a href="http://this.id" target="_blank" rel="noreferrer" moz-do-not-send="true">this.id</a>;<br>
}<br>
}<br>
<br>
// Tres Dorritos Despues<br>
<br>
main(){<br>
// aoe.getAllNames() returns an
ArrayList<NamesRecord> object containing 13
elements<br>
// each element has a unique value<br>
var localArrayList = new
ArrayList<NamesRecord>(aoe.getAllNames());<br>
// Display all id values in NamesRecord <===
Only prints one id NamesRecord::id value 13 times<br>
for(NamesRecord mydto : localArrayList){<br>
Integer pos = 1; <br>
System.out.print(pos + " ID is : ");<br>
System.err.print(mydto.getId() );<br>
pos++; // <== This value does not increment<br>
}<br>
<br>
// Second try, but same result<br>
for(int i = 10; i != localArrayList.size(); i++){<br>
System.out.print("\'i\' value is : ");<br>
System.err.println(i); // <== This value
does increment<br>
Integer pos = 1; <br>
System.out.print(pos + " ID is : ");<br>
System.err.println(localArrayList.get(i).getId() );<br>
pos++; // <== This value does not get
incremented<br>
}<br>
<br>
// Third try, but the similar result<br>
// Please note that the value of pos is never
incremented <==<br>
NamesRecord[] array = new
NamesRecord[localArrayList.size()];<br>
array = localArrayList.toArray(array);<br>
for(NamesRecord mydto : array){<br>
Integer pos = 1;<br>
System.out.print(pos + " ID is : ");<br>
p.setTimer(1);<br>
System.err.println(mydto.getId() );<br>
pos++; // <== This value does not get
incremented<br>
}<br>
}</font></p>
<p><font face="Helvetica, Arial, sans-serif">Hello.<br>
When looping through the ArrayList or even the Array[]
to display the content stored in NamesRecord::id only
one value is displayed; what I'd like to do is to
display all the id values stored in the ArrayList or
Array[] object.<br>
However, as documented in the snip above, Java
behaviour is not what I expected; mind you, I am
fairly new in Java.<br>
So, my question is, what am I doing wrong? <br>
If there is something wrong, would you point it out
and help me resolve it, please.<br>
</font></p>
<p><font face="Helvetica, Arial, sans-serif">Is it a bug
that came in the recent update I got from Debian?<br>
If so, how do I report the bug to OpenJDK?</font></p>
<p><font face="Helvetica, Arial, sans-serif">Thanks in
advance.</font><br>
</p>
</div>
</blockquote>
</div>
</blockquote>
<lt-container></lt-container>
</blockquote>
</body>
</html>