StringUtil.java
public class StringUtil {
// null ã¾ãŸã¯ç©ºæ–‡å—列ã§ã‚れ㰠true ã‚’è¿”ã™
public static boolean isNullOrEmpty(String str) {
return str == null || str.isEmpty();
}
// å…ˆé 1æ–‡å—を大文å—ã«ã—ã€æ®‹ã‚Šã‚’ãã®ã¾ã¾è¿”ã™ï¼ˆä¾‹: hello → Hello)
public static String capitalize(String str) {
if (str == null || str.isEmpty()) {
return str; // nullã¾ãŸã¯ç©ºæ–‡å—列ã¯ãã®ã¾ã¾è¿”ã™
}
// substring(0, 1): å…ˆé 1æ–‡å—
// substring(1): 2æ–‡å—目以é™
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
// ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã‚’ç¦æ¢ã™ã‚‹ private コンストラクタ(ユーティリティクラスã®å¸¸å¥—パターン)
private StringUtil() {
// 何もã—ãªã„
}
}
Main.java
public class Main {
public static void main(String[] args) {
System.out.println("isNullOrEmpty(null): " + StringUtil.isNullOrEmpty(null));
System.out.println("isNullOrEmpty(\"\"): " + StringUtil.isNullOrEmpty(""));
System.out.println("isNullOrEmpty(\"hello\"): " + StringUtil.isNullOrEmpty("hello"));
System.out.println("capitalize(\"hello\"): " + StringUtil.capitalize("hello"));
System.out.println("capitalize(\"\"): " + StringUtil.capitalize(""));
}
}
å®Ÿè¡Œçµæžœ
isNullOrEmpty(null): true
isNullOrEmpty(""): true
isNullOrEmpty("hello"): false
capitalize("hello"): Hello
capitalize(""):
解説
ã“ã®å•題ã§ã¯ã€ã€ŒçŠ¶æ…‹ã‚’æŒãŸãšã€å‡¦ç†ã ã‘ã‚’æä¾›ã™ã‚‹ã‚¯ãƒ©ã‚¹ã€ã¨ã—ã¦ã®
**ユーティリティクラス(ツールクラス)**ã‚’è¨è¨ˆãƒ»å®Ÿè£…ã—ã¾ã—ãŸã€‚
🔸 ユーティリティクラスã¨ã¯ï¼Ÿ
ユーティリティクラスã¨ã¯ã€ã€Œã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã›ãšã«ä½¿ã†ä¾¿åˆ©ãªãƒ¡ã‚½ãƒƒãƒ‰é›†ã€ã§ã™ã€‚
Java標準ライブラリã§ã‚‚ã€Math ã‚„ Collections ãªã©ãŒã“れã«è©²å½“ã—ã¾ã™ã€‚
特徴:
- メソッドã¯ã™ã¹ã¦
static - 状態(インスタンス変数)をæŒãŸãªã„
- コンストラクタを
privateã«ã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã‚’ç¦æ¢
isNullOrEmpty メソッドã®ãƒã‚¤ãƒ³ãƒˆ
return str == null || str.isEmpty();
nullãƒã‚§ãƒƒã‚¯ã¨ç©ºæ–‡å—ãƒã‚§ãƒƒã‚¯ã®ä¸¡æ–¹ã‚’一度ã«è¡Œãˆã‚‹ã€ã‚ˆãã‚るパターンã§ã™ã€‚
多ãã®ã‚¢ãƒ—リケーションã§ã€å…¥åЛ値ãƒã‚§ãƒƒã‚¯ã¨ã—ã¦é‡å®ã•れã¾ã™ã€‚
capitalize ãƒ¡ã‚½ãƒƒãƒ‰ã®æ³¨æ„点
return str.substring(0, 1).toUpperCase() + str.substring(1);
- å…ˆé 1æ–‡å—ã ã‘を大文å—化
- 残りã¯ãã®ã¾ã¾
- 空文å—ã‚„nullã‚’å—ã‘å–ã£ãŸã¨ãã®å®‰å…¨å¯¾ç–も実装
ãªãœ private コンストラクタã«ã™ã‚‹ã®ã‹ï¼Ÿ
private StringUtil() {}
ã“ã®ä¸€è¡Œã§ã€new StringUtil() ã‚’ 外部ã‹ã‚‰ä¸å¯èƒ½ã«ã§ãã¾ã™ã€‚
「newã—ã¦ã‚‚æ„味ãŒãªã„クラスã€ã‚’インスタンス化ã•ã›ãªã„ãŸã‚ã®ã€å®‰å…¨è¨è¨ˆã§ã™ã€‚
ã¾ã¨ã‚
- ユーティリティクラス㯠処ç†ã ã‘ã‚’æŒã¤ã‚¯ãƒ©ã‚¹ã¨ã—ã¦ã€
staticãƒ¡ã‚½ãƒƒãƒ‰ã§æ§‹æˆã•れる - インスタンス変数を使ã‚ãªã„ãŸã‚ã€
newã¯ä¸è¦ï¼ˆã‚€ã—ã‚ç¦æ¢ã™ã¹ã) - Javaã«ãŠã‘る「è¨è¨ˆã®æ„図ã€ã¨ã—ã¦ã®
staticã®ä½¿ã„é“ãŒã€æ˜Žç¢ºã«è¦‹ãˆã¦ãã‚‹
104 ステップアップå•題 「static修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œstatic修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ã“れã¯ã€Œç†è§£ã—ã¦ã‚‹é¢¨ã€ã§ã¯çµ¶å¯¾è¶…ãˆã‚‰ã‚Œãªã„å£ã€‚
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™



コメント