「Java8」OptionalクラスのofNullableメソッドでnullの可能性のある値を設定する
環境
JavaSE 1.8
Eclipse 4.14.0
構文
public static <T> Optional<T> ofNullable(T value)
指定された値がnullでない場合はその値を記述するOptionalを返し、それ以外の場合は空のOptionalを返します。
パラメータ: value – 記述する値(nullも可)
戻り値: 指定された値がnullでない場合は存在する値でのOptional、それ以外の場合は空のOptional
使用例
package com.arkgame.study;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class OptionalDemo {
@SuppressWarnings("serial")
private static Map<Integer, String> users = new HashMap<Integer, String>() {
{
put(101, "東京");
put(202, "大阪");
put(303, "福岡");
}
};
// Optionalの宣言
public static Optional<String> getCityName(int uid) {
// nullの可能性の値を設定
return Optional.ofNullable(users.get(uid));
}
public static void main(String[] args) {
// Optionalインスタンス生成
Optional<String> opA = getCityName(202);
// Optionalに値が存在する場合は値を返す
String city = opA.get();
System.out.println("都市名: " + city);
}
}
package com.arkgame.study;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class OptionalDemo {
@SuppressWarnings("serial")
private static Map<Integer, String> users = new HashMap<Integer, String>() {
{
put(101, "東京");
put(202, "大阪");
put(303, "福岡");
}
};
// Optionalの宣言
public static Optional<String> getCityName(int uid) {
// nullの可能性の値を設定
return Optional.ofNullable(users.get(uid));
}
public static void main(String[] args) {
// Optionalインスタンス生成
Optional<String> opA = getCityName(202);
// Optionalに値が存在する場合は値を返す
String city = opA.get();
System.out.println("都市名: " + city);
}
}
package com.arkgame.study; import java.util.HashMap; import java.util.Map; import java.util.Optional; public class OptionalDemo { @SuppressWarnings("serial") private static Map<Integer, String> users = new HashMap<Integer, String>() { { put(101, "東京"); put(202, "大阪"); put(303, "福岡"); } }; // Optionalの宣言 public static Optional<String> getCityName(int uid) { // nullの可能性の値を設定 return Optional.ofNullable(users.get(uid)); } public static void main(String[] args) { // Optionalインスタンス生成 Optional<String> opA = getCityName(202); // Optionalに値が存在する場合は値を返す String city = opA.get(); System.out.println("都市名: " + city); } }
実行結果
都市名: 大阪