❓ حقول مقابل دالة مُعاد تعريفها
Fields vs overridden method
Fields vs overridden method
class A { int v = 1; int get(){ return v; } }
class B extends A { int v = 2; int get(){ return v; } }
A a = new B();
System.out.println(a.v + "," + a.get());❤1
❓ نسخ المصفوفة copyOf
Arrays.copyOf clone
Arrays.copyOf clone
int[] x = {1,2};
int[] y = java.util.Arrays.copyOf(x, x.length);
y[0] = 9;
System.out.println(x[0]);❓ إزالة أثناء for-each
Removing during for-each
Removing during for-each
import java.util.*;
List<Integer> list = new ArrayList<>(java.util.Arrays.asList(1,2,3));
for (Integer v : list) {
if (v == 2) list.remove(v);
}
System.out.println(list.size());
❓ ثبات toString مقابل تعديل StringBuilder
StringBuilder mutability
StringBuilder mutability
StringBuilder sb = new StringBuilder("a");
String s = sb.toString();
sb.append("b");
System.out.println(s);❓ continue مع الأعداد الزوجية
continue with evens
continue with evens
int s = 0;
for (int i = 1; i <= 4; i++) {
if (i % 2 == 1) continue;
s += i;
}
System.out.println(s);
❓ القيمة الابتدائية لمصفوفة int
int array default
int array default
int[] arr = new int[3];
System.out.println(arr[1]);
❓ varargs جمع بسيط
Simple varargs sum
Simple varargs sum
static int sum(int... xs){ int s=0; for(int x: xs) s+=x; return s; }
System.out.println(sum(1,2,3));❓ String.intern والمسبح
String pool with intern
String pool with intern
String a = "hi";
String b = new String("hi").intern();
System.out.println(a == b);
❓ ملء المصفوفة بـ Arrays.fill
Arrays.fill
Arrays.fill
int[] a = new int[4];
java.util.Arrays.fill(a, 2);
System.out.println(a[3]);
❓ التحويل التلقائي مع Integer
Autoboxing side effect
Autoboxing side effect
void bump(Integer x){ x++; }
Integer v = 1;
bump(v);
System.out.println(v);❤1