iOS開発者向けAndroid開発備忘録 変数
TexaGPSとDOCOLをアンドロイド対応するために本格的にAndroid参入。
まだまだAndroid開発はわからないことが多いのでiOS開発者目線で備忘録を残していくことにする。
変数の宣言
変数
型と識別子が最低限必要(修飾子や初期設定子も持てる)
String 型の変数 strName ("アンドロイド" で初期化) String strName = "アンドロイド"; int 型の変数 finalIntCount (10000 で初期化; final 修飾されているので変更不可) final int finalIntCount = 10000;
配列変数
String 型の値を要素とする配列変数とその初期化 String[] arrayStringNames = { "りんご", "バナナ", "なし" }; int[] 型の値を要素とする配列変数 int[][] values;
文字列結合
NSString stringWithFormatよりもSwiftに近い
int intSpeed = 100;
String str = "スピード"+intSpeed+"km/h";
NSString stringWithFormatの近似処理で数値のコントロールも可能
double speed = 125.358643;
String str = String.format("%.2f",speed)+km/h;
一部にStringが含まれると足し算ではなく文字列結合演算子と自動的に判断される
辞書
NSDictionaryに近い辞書はMap 初期化はHashMapで行う Map<String,String> dicValues = new HashMap<String, String>(); NSStringと違いキー値と値の型も指定できる
数値を指定する場合はint,doubleはInteger,Doubleに変換して行う
値の設定は.put関数を利用する
dicValues.put("KeyString","ValueString");
Integerを宣言した場合はint値をそのまま代入可能
Map<String,Integer> dicValues = new HashMap<String, Integer>();
int intValue = 123;
dicValues.put("Key1",intValue);
Doubleを宣言した場合はdouble値をそのまま代入可能(floatはFloatを宣言)
Map<String,Double> dicValues = new HashMap<String, Double>();
double doubleValue = 123.456;
dicValues.put("Key2",dobleValue);
値の取り出しは.getを利用する
String strResult = (String)dicValues.get("keyString");
int intResult = (int)dicValues.get("key1");
double doubleResult = (double)dicValues.get("Key2");
値の取り出しの際は受け取る型を明示しておくとどの型か後で見てわかりやすい
Mapは基本的にMutable、変更不可にしたい場合はこれを使う
Collections.unmodifiableMap(map);
配列
NSArrayとは中に入れるオブジェクトの型指定が必要な点が異なる
ArrayList<String> array = new ArrayList<String>();
array.add("りんご");//値の追加
int count = array.size();//要素の数
int count = array.length;//要素の数
String str = array.get(index);//要素の取得 indexは整数値
array.remove(index);//要素の削除 indexは整数値
ArrayListはMutable
以下参考になるURL