Visual Studio Code (VS Code) は軽量なテキスト エディターですが,拡張機能によって Java の IntelliSense (自動補完),Lint (コード エラーや警告の即時表示) や デバッガーが使えるようになりました。VS Code で Java の開発環境を構築する方法を解説します。
Java 8 Stream API にテキストを流してみる(生成編)- Qiita Java 8 Stream API にテキストを流してみた(終端操作編)- Qiita Java 8 Stream API にテキストを流してみて(中間操作編)← 今ココ 今さらですが、昔書きかけた投稿のお蔵出しすることにします。 まだ途中ですが、書き溜めたコードを随時追記していく予定です。 [2017-04-09] 3.4 sorted() を追記 [2017-04-15] 3.5 map() 追記 [2017-04-23] 3.6 flatMap() 追記 ストリームとパイプライン 《省略》 Java 関数イディオム 《省略》 3 中間操作 《省略》 peek(Consumer<? super T> action) skip(long maxSize) limit(long maxSize) filte
Java 8 Stream API にテキストを流してみる(生成編)- Qiita Java 8 Stream API にテキストを流してみた(終端操作編)- Qiita Java 8 Stream API にテキストを流してみて(中間操作編)- Qiita Java 8 が出てからだいぶたつわけだが その目玉機能の一つだった Stream API は今、開発現場でどれだけ使われているのだろうか。自分も出始めたころにちょっと触って理解しきれないまま敬遠してきた一人だが、最近また使う機会があったので情報など漁っている。 しかしまだ入門的な紹介かディープな検証ばかりで、どうもピンと来ない。もし Stream が便利で広く開発現場で使われているなら、そろそろもう少し実践的な情報が上がってきていいと思うのだが。 現状、Stream をちゃんとは理解しようとするなら、やはり自分の手で具体的なコードを
Stream API 中間操作の flatMap、distinct、limit、skip について使い方をまとめました。 flatMap:変換 ( 1:N ) 引数:Function<T, Stream<R>> / 戻り値:Stream<R> flatMapはmapメソッドと似ていますがFunction<T, Stream<R>>を引数に取り、要素TからStream<R>を生成します。何を言ってるのかというとmapメソッドの場合は入力と出力が 1:1「(T) -> R」になりますが、flatMapメソッドの場合は 1:N「(T) -> Stream<R>」となり、Rを複数返します。0個でも大丈夫です。 flatMapの使い方 IntegerのListを各数値の数だけ出力するサンプルです。 List<Integer> list = Arrays.asList(1, 2, 3); // ラムダ
はじめに Java SE 8がリリースされて、そろそろ1年が経とうとしています。早いものです。 それはすなわち、Java SE 7のサポート切れが間近に迫っているということでもあります。 そこで今回は、改めてJava SE 8の理解のポイントを解説しようと思います。 ラムダ式・Stream APIの2点が、Java SE 8の目玉となる新機能です。 こんなコードが出てきます。 List<Emp> source = Arrays.asList( new Emp(101, "Nishida", Dept.ADMIN, 500000), new Emp(102, "Nohira", Dept.SALES, 285000), // 以下省略 ); // ラムダ式&Stream API! // EmpのListから、Deptが「SALES」の要素のみ抽出し、名前のみのListに集約する List<S
java.time.LocalDateの利用サンプルです。 サンプルコードで試したのは以下の通りです。 現在日付の取得 ■API LocalDate#now ■サンプル // 現在日付 LocalDate date1 = LocalDate.now(); // 現在日付がyyyy-MM-dd 形式で出力される System.out.println("date1 : " + date1); ■実行結果 date1 : 2016-09-11 特定の日付を指定してのインスタンス生成 ■API LocalDate#of ■サンプル // 年月日を全て数値で指定(月をそのままの数値で指定できるの良いね(ex. 12月なら12と指定)) LocalDate date2 = LocalDate.of(2013, 12, 31); // 2013-12-31 と出力される System.out.print
Java で CSV ファイルに書き込む際、普通に BufferedWriter bw = new BufferedWriter(new FileWriter("newfile.csv")); などとすると Unicode で書き込まれるので、できたファイルを Excel で読み込むと文字化けが発生する。これを回避する方法。 FileOutputStream fos = new FileOutputStream("newfile.csv"); OutputStreamWriter osw = new OutputStreamWriter(fos, "SJIS"); BufferedWriter bw = new BufferedWriter(osw); とすると、バイトストリームから文字ストリームへの変換の際に文字コードも変換してくれる。ちなみに SJIS は Shift_JIS の al
Scheduledアノテーションを使うと、スケジュールされたタイミングでメソッドを実行することができます。 これで周期実行的なものは、簡単に実装できます。 Getting Started · Scheduling Tasks 34. Task Execution and Scheduling 実装方法 実行したいメソッドにScheduledアノテーションを付けます。 @Component public class Scheduler { @Scheduled(fixedRate = 5000) public void doSomething() { // 5秒周期で行いたい処理 } } Scheduledアノテーションによる実行を有効とするためには、EableSchedulingアノテーションを付けます。 @SpringBootApplication @EnableScheduling p
概要(お前は何を言っているんだ) コードレビューしていると、__Java8のfeature(Stream APIとかOptionalとか)を使ってるんだけど、Java7以前と大差ない書き方をされているコード__をよく見かける。 もっと皆に__Java8っぽいコード__を書いて欲しい。そうじゃないともったいない。 (*"Java8っぽい"の基準は割りと(かなり?)私見が入っている) 言葉を尽くしても伝わりづらいので、例を作ろう。 ← これ ついでに、「無理してJava8のfeature使うことで、逆に悪くなってしまっている例」も作ろう。 対象読者 Java8でコード書いてるけど、Java7以前の書き方が染み付いちゃっていてなかなか抜け出せない人 「forやnullチェックは絶対使うべきでない」という思いが強すぎて、何でもかんでもStream APIやOptional使ってる人 Notice
SpringBoot/SpringMVCでファイルをダウンロードについて調べたので、φ(..)メモメモ CSVでダウンロード @RequestMapping(value = "/download", method = RequestMethod.GET) public ResponseEntity<byte[]> download() throws IOException { HttpHeaders h = new HttpHeaders(); h.add("Content-Type", "text/csv; charset=MS932"); h.setContentDispositionFormData("filename", "hoge.csv"); return new ResponseEntity<>("あ,い,う,え,お".getBytes("MS932"), h, HttpSt
SpringMVCでファイルダウンロード、zip圧縮ファイルダウンロードのサンプル。 サンプルの内容 「http://[FQDN]:8080/spring3-mvc-down/download」 クライアントからのアクセスに対して、サーバローカルのファイル(C:\tmp\hoge1.csv)をInputStreamで読み込み、Streamのままレスポンスを返す。 「http://[FQDN]:8080/spring3-mvc-down/download/zip」 クライアントからのアクセスに対して、サーバローカルのファイル(C:\tmp\hoge2.csv)をInputStreamで読み込み、zip圧縮したStreamに変換し、Streamのままレスポンスを返す。 「http://[FQDN]:8080/spring3-mvc-down/download/zip/all」 クライアントから
2004/01 Webサイトにダウンロード機能を持たすには? 1. 〜.zipのようなダウンロードファイルと解釈される拡張子のファイルに リンクを張る。(そのリンクをクリックするとダウンロードダイアログが出る) 2. ダウンロード先のストリームに向かってデータを出力する。 (ダウンロードダイアログが出る) の2つがあります。1.はJavaに関係ないので、今回は2.をやってみたいと 思います。意外と簡単に出来ます。逆にアップロードのが難しいです。 ではソースを見てみましょう! package etc; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class DownloadServlet extends HttpServlet { public void doGet(HttpSer
https://github.com/dayflower/electron-spring-initializr IntelliJ IDEA の Ultimate 版だと Project 生成のときに Spring Initializr を利用して作成することができるんだけど、 Community Edition にはその機能がない。単に Web の Spring Initializr を実行して zip アーカイブをダウンロードして展開すればいいだけなんだけど、その一手間がダルいので Electron でアプリケーションにした。 Spring Initializr には API (というか metadata 仕様?)があるんだけど、それを利用してるんではなくて、単純に内蔵ブラウザで Initializr のサイト表示して、 Generate Project ボタン押されたときに*1それをフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く