だんぺんぶこみっく

2006-12-1820061218

[]Javaでのプログラム 22:58 Javaでのプログラム - だんぺんぶこみっく を含むブックマーク はてなブックマーク - Javaでのプログラム - だんぺんぶこみっく

(今回の記事はプログラム知らんひとにはわからないと思う)

Javaでクラスのオブジェクトを使用するときは

class AbeTakakazu {
 public static void main( String[] args ) {
  String s = new String();
 }
}

などというふうに,【クラス名】 【変数名】 = new 【クラス名】(…);

とかやるんだけど,どうもこれって同じクラス名を2回も書かなあかんのが面倒で……

Stringぐらいならまだしも,これが

import java.util.ArrayList;
class MichishitaMasaki {
 public static void main( String[] args ) {
  ArrayList<String> ar = new ArrayList<String>();
  // JavaSE5.0以降
 }
}

なんてふうに長いクラス名になると2個目(右側)のを打つのは面倒だし,かといってコピペするためにカーソルをいちいち行頭にもってって(またはマウスでカーソルを移動して)ドラッグ→コピーとかってのも,左側のクラス名が長いと面倒になりがちではないか,と思うのだが。

Java3Dとかだと,

// Java3D用のimportは面倒なので略
class YamakawaJyunnichi {
 public static void main( String[] args ) {
  KBRotPosScaleSplinePathInterpolator kb = new KBRotPosScaleSplinePathInterpolator(/*略*/);
 }
}

なんてのがあるんですよ奥さん!

(わざと自作したのではなく,公式のライブラリに本当にこういうのがある → http://download.java.net/media/java3d/javadoc/1.5.0/com/sun/j3d/utils/behaviors/interpolators/KBRotPosScaleSplinePathInterpolator.html

で,

 ABC a = new ABC();

とかいうふうに,変数の型のクラス名とnew以降のクラス名が同じ場合は,

 ABC a = new();

とかいう省略記法がOKになれば楽になるのに,と考えた

kenmazkenmaz2006/12/19 01:04JavaSE7では以下のような記法が追加されます。
HashMap<String,List<Map<String,List<Integer>> m = new(); ??
Map<String,List<Integer>> m = new Hashmap(); ??

TakahashiMasakiTakahashiMasaki2006/12/19 07:57それは知りませんでした……(やはり面倒だと思っていたひとが多いのでしょか)
ありがとうございます

トラックバック - http://fragments.g.hatena.ne.jp/TakahashiMasaki/20061218