1. Mbandhingake obyek karo==
Kesalahan favorit para programer pemula yaiku mbandhingake obyek (utamane strings) nggunakake ==
operator. Tuladhane:
Scanner console = new Scanner(System.in);
String s1 = console.nextLine();
String s2 = console.nextLine();
if (s1 == s2)
{
System.out.println("The strings are equal");
}
Kode iki ora bakal nampilake "Senar padha", amarga if
pernyataan kasebut mbandhingake referensi menyang rong obyek senar sing beda.
Iki versi kode sing bener:
Scanner console = new Scanner(System.in);
String s1 = console.nextLine();
String s2 = console.nextLine();
if (s1.equals(s2))
{
System.out.println("The strings are equal");
}
2. Ngganti String
obyek
Programer Newbie asring lali yen kabeh obyek saka kelas ora bisa diganti , lan saben metode kelas String
ngasilake obyek anyar - obyek sing saiki ora owah.
Tuladha:
String s = "Hello";
s.toUpperCase (); // Convert to uppercase
Kode iki meh padha karo kode sing bener, nanging ora bisa kaya sing dikarepake. Cara kasebut toUpperCase()
ora ngganti obyek sing diarani. Kode sing bener bakal katon kaya iki:
String s = "Hello";
String result = s.toUpperCase(); // Convert to uppercase
3. Lali kanggo initialize obyek sing unsur Uploaded
Kesalahan umum liyane yaiku lali miwiti variabel array. Tuladha:
int[] array;
array[0] = 1;
array[0] = 2;
Kode iki ora bisa digunakake: sampeyan kudu kanthi tegas nyetel variabel array sing padha karo referensi kanggo obyek wadhah sing bakal nyimpen unsur array.
int[] array = new int[10];
array[0] = 1;
array[0] = 2;
4. Nggunakake variabel lokal tinimbang variabel conto.
Newbies ora seneng nggawe jeneng sing dawa lan migunani kanggo variabel. Padha kerep nggunakake jeneng siji-huruf: a
, b
, i
, etc. Sing kejem kanggo nindakake nalika kode wis sawetara variabel kaya:
Sijine nomer 99 menyang 100 sel saka array |
---|
|
Kode ing ndhuwur ora bakal dikompilasi. Versi sing bener katon kaya iki:
Sijine nomer 99 menyang 100 sel saka array |
---|
|
5. Mbusak item koleksi
Kerep banget ana kahanan nalika unsur tartamtu kudu dibusak saka koleksi. Kode katon kira-kira kaya iki:
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 0, -5, -7, -12, 5, 15);
for (Integer value: list)
if (value < 0)
list.remove(value);
Kode iki ora bakal bisa, amarga sampeyan ora bisa nggunakake kanggo saben daur ulang kanggo bebarengan ngliwati unsur koleksi lan ngowahi koleksi sing.
Ana sawetara solusi. Pisanan, sampeyan bisa ngliwati siji koleksi lan ngganti liyane:
Solusi 1 |
---|
|
Kapindho, wiwit Jawa 8, koleksi duwe removeIf()
cara, sing sampeyan bisa ngliwati aturan (fungsi lambda) sing nuduhake unsur sing bakal dibusak.
Tuladha:
Solusi 2 |
---|
|
6. Manggonke sawetara kelas karo public
modifier menyang file siji
Mung ana siji kelas umum ing file. Kelas liyane bisa diumumake ing file, nanging kudu dadi kelas njero kelas umum, utawa ora duwe modifier public
. Tuladha:
Isi file Solution.java | Cathetan |
---|---|
|
Iki ora diidini: rong kelas umum ing file siji. |
|
Nanging sampeyan bisa nindakake iki. Kelas utama ora umum |
|
Lan sampeyan bisa nindakake iki. Kelas utama yaiku kelas nested |
7. Nelpon cara biasa (non-statis) saka kelas saka main()
cara statis
Kadhangkala programer pemula nyoba ngakses variabel lan metode non-statis saka main()
metode utawa metode statis liyane. Kode kuwi ora bakal bisa, mesthi.
public class Solution
{
public int n = 100;
public int[] createArray()
{
return new int[n];
}
public static void main(String[]args)
{
int[] array = createArray();
}
}
Cara utama mung bisa ngarujuk marang metode / variabel statis. Inggih, utawa kudu nggawe conto kelas Solution
, lan mung nelpon cara non-statis obyek kasebut. Tuladha:
Solusi 1 | Solusi 2 |
---|---|
|
|
8. Ngandharake konstruktor kaya metode
Kesalahan umum liyane yaiku salah nyatakake konstruktor kelas. Jeneng konstruktor kudu padha karo jeneng kelas, lan konstruktor ora duwe jinis asil. Kesalahan sing paling umum katon kaya iki:
|
Mesthine ora ana jinis bali ing kene |
|
Jeneng konstruktor ora valid. Jeneng konstruktor kudu cocog karo jeneng kelas |
|
this wis ilang. Variabel value bakal ditugasake dhewe |
|
Iku kabeh bener |
9. Warisan antarmuka sing salah
Para pangripta Jawa nyoba nyedhak banget karo basa Inggris, mula padha milih tembung kunci sing beda kanggo konsep-konsep tartamtu sing gegandhengan.
Nalika kelas marisi kelas, sampeyan kudu nggunakake extends
tembung kunci:
class Pet
{
}
class Cat extends Pet
{
}
Nalika kelas diwenehi antarmuka, sampeyan kudu nggunakake implements
tembung kunci:
interface Meow
{
}
class Cat implements Meow
{
}
Nalika antarmuka marisi antarmuka, gunakake extends
tembung kunci:
interface Meow
{
}
interface Voice extends Meow
{
}
10. Ngilangi break
ing switch
statement
Lan kesalahan pungkasan kanggo kita dina iki, nanging dudu sing pungkasan kanggo pamula, gagal kalebu statement break
ing switch
statement. Tuladha
salah | bener |
---|---|
|
|
GO TO FULL VERSION