Java මේක පැහැදිලි කරන්න
මේක පැහැදිලි කරන්න..
Output
ඇයි මේකෙ "A" කියන එක ප්රින්ට් වෙන්නෙ නැත්තෙ. මම ඔරිජිනල් ලිස්ට් එකට මුකුත් කරන්නෙ නෑනෙ. ඒත් ඒක කොහොමද වෙනස් වෙන්නෙ. loop එක ඇතුලෙදි අල්ල ගන්න වේරියබල් එකේ value එක වෙනස් කලාම කොහොමද ඔරිජිනල් ලිස්ට් එකේ values වෙනස් වෙන්නෙ.
මේ විදියට යැව්වත් වෙනස් වෙනව.
මෙහෙම අලුත්ම ලිස්ට් එකක් ක්ලෝන් කරල ඒක යැවුවහමත් ඔරිජිනල් ලිස්ට් එකේ values වෙනස් වෙනවනෙ.
Update 01
ඔරිජිනල් ලිස්ට් එකට වෙනස් නොවී පාස් කරන්න ක්රමයක් කියන්න.
මේක පැහැදිලි කරන්න..
Code:
import java.util.Arrays;
import java.util.List;
/**
*
* @author Tharindu
*/
public class ContentTest {
private List<String[]> content;
public void setContent(List<String[]> content) {
this.content = content;
}
public void print(){
System.out.println("Before");
for(String values[] : content){
System.out.println(Arrays.asList(values));
values[0] = "";
}
System.out.println("After");
for(String values[] : content){
System.out.println(Arrays.asList(values));
}
}
}
Code:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
* @author Tharindu
*/
public class Run {
public static void main(String[] args) {
List<String[]> list = new ArrayList<>();
list.add(new String[]{"A", "B", "C"});
ContentTest contentTest = new ContentTest();
contentTest.setContent(list);
contentTest.print();
System.out.println("Original List");
for (String values[] : list) {
System.out.println(Arrays.asList(values));
}
}
}
PHP:
run:
Before
[A, B, C]
After
[, B, C]
Original List
[, B, C]
BUILD SUCCESSFUL (total time: 2 seconds)
ඇයි මේකෙ "A" කියන එක ප්රින්ට් වෙන්නෙ නැත්තෙ. මම ඔරිජිනල් ලිස්ට් එකට මුකුත් කරන්නෙ නෑනෙ. ඒත් ඒක කොහොමද වෙනස් වෙන්නෙ. loop එක ඇතුලෙදි අල්ල ගන්න වේරියබල් එකේ value එක වෙනස් කලාම කොහොමද ඔරිජිනල් ලිස්ට් එකේ values වෙනස් වෙන්නෙ.
මේ විදියට යැව්වත් වෙනස් වෙනව.
Code:
contentTest.setContent(Collections.unmodifiableList(list));
මෙහෙම අලුත්ම ලිස්ට් එකක් ක්ලෝන් කරල ඒක යැවුවහමත් ඔරිජිනල් ලිස්ට් එකේ values වෙනස් වෙනවනෙ.
Code:
contentTest.setContent(new ArrayList<>(list));
Update 01
ඔරිජිනල් ලිස්ට් එකට වෙනස් නොවී පාස් කරන්න ක්රමයක් කියන්න.
Last edited:
method param ekak na neh

