- Strings දෙකක් එකතු කරන්න තියෙනවා නම් + operator වෙනුවට StringBuilder හරි StringBuffer හරි පාවිච්චි කරන්න.
- Strings දෙකක් සමානද කියල බලන්න තියෙනවා නම් == operator එක වෙනුවට equals() method එක පාවිච්චි කරන්න.
- Strings දෙකක් සමානද කියල බලන්න equals() method එක පාවිච්චි කරනවා නම්, අපි දන්න constant string එකකට දාන්න, නොදන්න variable එකකට පාවිච්චි කරන්න එපා.
- පුළුවන් හැම වෙලාවකම if else-if නැතුව switch-case පාවිච්චි කරන්න බලන්න, ඒ වගේම ඒ තැන් වල toString() වෙනුවට String.valueOf() පාවිච්චි කරන්න බලන්න.
- String එකක් හදනකොට new keyword එකෙන් Object එකක් හදන්නේ නැතුව literls("") විදියටම හදන්න.
- String එකක null check එකක් වගේ කරන්න තියෙනවා නම් StringUtils එකේ තියෙන methods පාවිච්චි කරන්න.
3. Strings දෙකක් සමානද කියල බලන්න equals() method එක පාවිච්චි කරනවා නම්, අපි දන්න constant string එකකට දාන්න, නොදන්න variable එකකට පාවිච්චි කරන්න එපා.
private static final String TRANSACTION_SUBMITTED = "TRANSACTION_SUBMITTED";
private static final String TRANSACTION_PROCESSING = "TRANSACTION_PROCESSING";
private static final String TRANSACTION_SUCCESSFUL = "TRANSACTION_SUCCESSFUL";
අපි ඉස්සෙල්ලම බලමු අපිට මෙතන වරදින්නේ කොහොමද කියල.
public static String doPayment(){
String transactionStatus = null;
return transactionStatus;
}
private static void checkTransactionStatusIncorrectWay(String txnStatus) {
try {
if (txnStatus.equals(TRANSACTION_SUCCESSFUL)){
System.out.println("Transaction Successful");
}
else {
System.out.println("Transaction Failed");
}
}
catch (Exception e){
System.out.println("Exception occurred");
e.printStackTrace();
}
}
බලන්න මෙතන මම txnStatus.equals(TRANSACTION_SUCCESSFUL) මෙන්න මෙහෙම තමා පාවිච්චි කරල තියෙන්නේ. එතකොට ඔයාලට දැන් පේනවද txnStatus value එක null. අපි null value එකකට තමා equals() method එක දාල තියෙන්නෙ. මොකද වෙන්නේ කියල බලන්න මේක run කරලම බලමුද.
Exception occurred
java.lang.NullPointerException
at com.teciezone.CheckEqualsOnKnown.checkTransactionStatusIncorrectWay(CheckEqualsOnKnown.java:29)
at com.teciezone.CheckEqualsOnKnown.main(CheckEqualsOnKnown.java:17)
ඔන්න පේනවද output එක. NullPointerException එකක් තමා ඇවිල්ල තියෙන්නේ.
දැන් අපි මේක හරි විදියට කරලා බලමු.
public static void checkTransactionStatusCorrectWay(String txnStatus){
if (TRANSACTION_SUCCESSFUL.equals(txnStatus)){
System.out.println("Transaction Successful");
}
else {
System.out.println("Transaction Failed");
}
}
මෙතන බලන්න මම variable දෙක මාරු කරලා equals() method එකට දැම්මා.
මේකෙත් output එක අරන් බලමුද.
දැන් ඔයාලට පේනවද මෙතනදී exception එක පැනල නෑ. ඒ කියන්නේ අපේ වැඩේ හරි. එහෙනම් දැන් ඔයාලට තේරෙන්න ඕන හරි විදියට equals() method එක පාවිච්චි කරන්නේ කොහොමද කියල. අපි value එක හරියටම දන්නා String එකකට තමා equals() method එක දාන්න ඕන.
මේ කියල තියෙන දේ හරියට තේරුනේ නැත්තන් පහල තියෙන වීඩියෝ එක බලන්න, මම එකේ demo එකකුත් කරලම පෙන්නනවා. එහනම් ඊලග පොස්ටුවෙන් හම්බෙමු,එතකන් ජය.