タグ

syntaxとjavaに関するkiyo_hikoのブックマーク (5)

  • JavaでもC#みたいなオブジェクト初期化子書けるんですよ - C Sharpens you up

    コンストラクタが特に何もしてくれず、インスタンス作ってから初期化しないといけないタイプのクラスってありますよね。シリアライズのためだったりJavaBeansだったり、あとはふつーのArrayListだから作ってから内容詰め込みます、みたいに。 オブジェクト作ってreturnしたいだけなのに、作ったあとに初期化しないといけないから一時変数作るのがいつも一手余分で、一行で書けるラムダ式がブロックラムダになったりするといらいらもたまるというものです。 C#にはオブジェクト初期化子があるのでその余分な一手が省けますね。 return new Person { Name = "Alice", Age = 20 }; return new List<int> { 1, 1, 2, 3, 5, 8, }; return new Dictionary<int, String> { { 200, "OK"

    JavaでもC#みたいなオブジェクト初期化子書けるんですよ - C Sharpens you up
  • Javaプログラマーが学ぶRuby基礎/例外の基本 - Tbpgr Blog

    概要 Rubyの例外について説明します。 構文 Rubyの例外は以下の構文で利用出来ます。 begin 例外の例外の起こる可能性のある処理 rescue 例外が起こった場合の処理 ensure 例外の有無に関わらず実行される処理 end サンプル def divide_number(number,divide) begin # Javaのtryと同様 puts "input (#{number},#{divide})" number/divide rescue => exception # Javaのcatchと同様 puts exception.message puts "like Java's catch" raise 'my error' # Javaのthrowと同様 ensure # => Javaのfinallyと同様 puts "like Java's finally" en

    Javaプログラマーが学ぶRuby基礎/例外の基本 - Tbpgr Blog
  • for文を使った繰り返し処理

    初期化式は for 文が実行されるときに最初の一回だけ実行される式です。条件式で使用する変数の初期化などを主に行いますがそれに限りません。 繰り返し処理は条件式を評価して true だった場合には { から } のブロック内に記述された処理を上から順番に実行し、 false だった場合には繰り返し処理を終了し for 文の次へ処理を映します。 繰り返しが一度実行されてブロックの最後まで到達したら、変化式を一回評価します。この変化式で条件式で使用している変数の値を変換させます。そして改めて条件式を評価し、 true であれば再びブロック内の処理を行い、 false だった場合には繰り返し処理を終了します。

    for文を使った繰り返し処理
    kiyo_hiko
    kiyo_hiko 2013/10/06
    初期化式は複数の同じ型の値、条件式は1つの整論理式で。変化式は型が混在してても楽勝ただしifとかは無理、あと論理式の玉子とじもだめ。試した → http://kiyohikou.hateblo.jp/entry/2013/10/06/031805
  • 第 36 回 ~ 拡張for文とIterator ~ (株式会社イーブ|未経験・転職の方も就職可能。Javaプログラマー育成のエキスパート)

    今回のテーマは「拡張for文とIterator」です。 Java5で導入された拡張for文を使うと、コレクションの走査が非常に簡単になります。 拡張for文の内部ではIteratorが使われていて、処理の内容自体はこれまでのIteratorを利用したループと変わりません。 では、拡張for文があればIteratorはもう使う必要がないのでしょうか。 実は拡張for文ではできない処理があり、Iteratorはまだまだ現役なのです。 以下のサンプルで、拡張for文ではできない処理を検証してみましょう。 import java.util.ArrayList; import java.util.Collection; public class Main { public static void main(String[] args) { Collection<Integer> sam

    kiyo_hiko
    kiyo_hiko 2011/12/26
    スレチ気味だけど「拡張for文の内部ではIteratorが使われて」いる→拡張for文のMTにはsynchronizedが必要 / あと文中の「コレクションの要素を削除するには、Iteratorのremoveメソッドのみが唯一の安全な方法」…これも気を付けたい
  • Java ラムダ式のシンタックスの第一バージョンが議論に火をつける

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Java ラムダ式のシンタックスの第一バージョンが議論に火をつける
    kiyo_hiko
    kiyo_hiko 2011/07/29
    訳わからん。Perlの無名関数の方がまだ読みやすい気がする。lambdaはポリモーフィズムと相性が良さそうな気がするけどどうなんだろう
  • 1