ヤマムギ

growing hard days.

*

Java SE 7 Silver対策勉強をしながらメモ 2015/2/8

      2015/03/29


今日から練習問題を再確認。

ひと通りテキストを終えた安心感からかイージーミスが連発。

本番想定というか本番と全く同一の緊張感でやらなければ。

いつものごとくマークダウンで記載したのでそのままJetpack Markdownにお任せでアップします。

静的インポートの文法をちゃんと覚える!!!

[java]
package pack;

public class Class1{
public static String method(String str){
return “string : “ + str;
}
}
[/java]
[java]
//ここに入れるインポート文

public class Class2{
public static void main(String[] args){
System.out.println(method(“TestString”));//静的呼出しがしたい
}
}
[/java]
[java]
//いずれか
import static pack.Class1.method;
import static pack.Class1.*;
[/java]

ArrayList.size()は配列のlengthと同じ!!だからそのまま添え字に使われているときはIndexOutOfBoundsになる!!!

[java]
import java.util.ArrayList;

class Test{
public static void main(String[] args){
ArrayList list = new ArrayList<>();
list.add(10);
list.add(20);
System.out.println(list.get(list.size()));//実行時エラー
}
}
[/java]

Iterator(イテレーター)型

[java]
import java.util.*;

class ReverseTest{
public static Iterator reverse(List list){
Collections.reverse(list);
return list.iterator();
}
public static void main(String[] args){
List list = new ArrayList();
list.add(“10”);
list.add(“20”);
list.add(“30”);
for (Object obj : reverse(list)){ //コンパイルエラー
System.out.println(obj);
}
}
}
[/java]

  • Iterator型をObjectに代入する事は出来ない

継承と型で使えないメソッドに注意!!!

[java]
import java.util.*;
interface A{
void foo();
}
class B implements A{
public void foo(){

}
public void bar{

}
}
class C extends B{
public void foo(){

}
}
class Test {
public static void main(String[] args){
List list = new ArrayList();
list.add(new B());
list.add(new C());
for (A a : list){
a.foo();
a.bar();//コンパイルエラー
}
}
}
[/java]

  • barメソッドはB,Cでのみ利用可能なので、Aで宣言しているコレクションのループでは使えない

ArrayList.addで添え字を使う場合 配列数(最大添え字+1)までしか使えない

[java]
import java.util.ArrayList;

public class StringEquals {
public static void main(String[] args){
ArrayList al = new ArrayList(10);
al.add(“a”);
al.add(“b”);
al.add(“c”);
al.add(“d”);
al.add(5,”e”);//実行時エラー
for(String a:al){
System.out.print(a);
}
}
}
[/java]

  • IndexOutOfBoundsが発生
  • 上記の場合は4までの数字ならOK

注意事項!!!!!

問題をちゃんと読む! そして消去法でも納得のいかない答えに辿り着いた場合は穴があくまで問題を見る!!


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - Java, study , ,

ad

ad

  関連記事

DevLOVE関西「SIerから飛び出して、それからどうするの?」に行ってきました

DevLOVE関西「SIerから飛び出して、それからどうするの?」に行ってきまし …

Agile Japan 2015 大阪サテライト「アジャイル開発への架け橋」に行ってきました

Agile Japan 2015 大阪サテライトに行ってきました。 具体的な目的 …

再会の日 ~re:Union 2018 Osaka by JAWS-UG~

8/5は大阪でre:Unionでした。 「再会」と名うったこのイベントは、6月に …

サバワさんとAlexa(Alexa Day 2019でのブログ)

ランチタイムセッション2本目はサーバーワークスさん。 以下は、気になったことのメ …

「Meguro.dev #1 」でモブプログラミングを体験してみました

「AWSの各サービスを道具としてアプリケーション開発を行うデベロッパーのための新 …

「Amazon SageMaker|機械学習エンジニア向けセッション+体験ハンズオン」に行ってきました

残念ながらハンズオンまではいれませんでしたが、前半のSageMakerの解説を聞 …

ActRoomの仕様を書いてみた

これはLow-Code/No-Code Advent Calendar 2018 …

JBUG(Japan Backlog User Group) 記念すべき大阪開催の勉強会1回目に参加しました

JBUGが我らがマイタウン大阪で開催されるとのことで、お久しぶりのTAMさんにお …

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio Studioとkintoneで電話受付システムをつくろう」に行ってきました

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio …

Alexaスキル開発でデザイン・スプリントのすすめ(Alexa Day 2019でのブログ)

ランチタイムセッションの一本目はISAOさん。 以下は、気になったことのメモとか …