SimpleDateFormat もこれもうわかんねぇな
   1 min read
結果 1.8 H 11 平成 環境 1.8 java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode) 11 openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode) コード import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.Date; import java.util.Locale; public class Main { public static void main(final String[] args) {
%s に null を渡したらどうなるんだっけ
   1 min read
こたえ 文字列 null が出力される。 コード final String text = null; System.out.printf("%s", text); 参考 java.util.Formatter For category General, Character, Numberic, Integral and Date/Time conversion, unless otherwise specified, if the argument arg is null, then the result is “null”. リンク先の表にある通り、 s はカテゴリ&q
DateTimeFormatter とかこれもうわかんねぇな
   1 min read
コード import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Locale; public class App { private static String format(final LocalDate date, final String pattern) { return date.format(DateTimeFormatter.ofPattern(pattern, Locale.JAPAN)); } public static void main(final String[] args) { final LocalDate today = LocalDate.of(2019, 6, 4); System.out.println(format(today, "M")); System.out.println(format(today, "MM")); System.out.println(format(today, "MMM")); System.out.println(format(today, "MMMM")); System.out.println(format(today, "MMMMM")); System.out.println(format(today, "MMMMMM")); } } 結果 パターン 結果 M 6 MM 06 MMM 6 月
text/plain で JSON を投げつけてくるヤツに対処する
   1 min read
RestTemplate でレスポンスの Content-Type を変更する。 の別解。 @Autowired private RestTemplateBuilder builder; ... final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_PLAIN)); final RestTemplate restTemplate = builder.additionalMessageConverters(converter).build(); ちなみに上記のようにコンバータを明示的に設定しない場合だと次のような
Hibernate で CHAR を String にマップする
   1 min read
例えば、生 JDBC でchar型カラムのクエリを書くとString型にマップされます final Connection connection = DriverManager.getConnection(...); final Statement statement = connection.createStatement(); final ResultSet resultSet = statement.executeQuery("select char_column from foo_table"); // java.lang.String resultSet.getMetaData().getColumnClassName(1); が、Hibernate