解説動画
今回は、Listインターフェースなのに、追加・削除ができないリストを見てみます。
 よく使うリストですが、追加や削除すると例外が発生する場合があります。
■動画はこちら
■Youtube版の解説で使用しているソースコード
 動画と一緒にこちらも参考にどうぞ。
pom.xml
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>maven</groupId>   <artifactId>maven</artifactId>   <version>0.0.1-SNAPSHOT</version> <dependencies>   <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->   <dependency>     <groupId>com.fasterxml.jackson.core</groupId>     <artifactId>jackson-databind</artifactId>     <version>2.17.0</version>   </dependency> </dependencies> </project> | 
JSONからオブジェクトに変換① – JacksonTest.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package yurufuwa.prog.sample; import java.io.File; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTest {     public static void main(String[] args) {         try {             //JSONファイルを読み込んで、オブジェクトに変換             File srcFile = new File("d:\\work\\input.json");             ObjectMapper om = new ObjectMapper();             Pref pref = om.readValue(srcFile, Pref.class);             //読み込んだ結果を出力             System.out.println("--読み込んだPref--");             System.out.println("kenCode:" + pref.getKenCode());             System.out.println("kenName:" + pref.getKenName());             System.out.println("yomigana:" + pref.getYomigana());         } catch (Exception e) {             e.printStackTrace();         }     } } | 
JSONからオブジェクトに変換① – Pref.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package yurufuwa.prog.sample; public class Pref {     private String kenCode = null;     private String kenName = null;     private String yomigana = null;     public String getKenCode() {         return kenCode;     }     public void setKenCode(String kenCode) {         this.kenCode = kenCode;     }     public String getKenName() {         return kenName;     }     public void setKenName(String kenName) {         this.kenName = kenName;     }     public String getYomigana() {         return yomigana;     }     public void setYomigana(String yomigana) {         this.yomigana = yomigana;     } } | 
JSONからオブジェクトに変換① – input.json
| 1 2 3 4 5 | {     "kenCode" : "01",     "kenName" : "北海道",     "yomigana" : "ほっかいどう" } | 
JSONからオブジェクトに変換② – JacksonTest2.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | package yurufuwa.prog.sample; import java.io.File; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTest2 {     public static void main(String[] args) {         try {             //JSONファイルを読み込んで、オブジェクトに変換             File srcFile = new File("d:\\work\\input.json");             ObjectMapper om = new ObjectMapper();             PrefList prefList = om.readValue(srcFile, PrefList.class);             //読み込んだ結果を出力             for(Pref pref : prefList.getPrefList()) {                 System.out.println("--読み込んだPref--");                 System.out.println("kenCode:" + pref.getKenCode());                 System.out.println("kenName:" + pref.getKenName());                 System.out.println("yomigana:" + pref.getYomigana());             }         } catch (Exception e) {             e.printStackTrace();         }     } } | 
JSONからオブジェクトに変換② – Pref.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package yurufuwa.prog.sample; public class Pref {     private String kenCode = null;     private String kenName = null;     private String yomigana = null;     public String getKenCode() {         return kenCode;     }     public void setKenCode(String kenCode) {         this.kenCode = kenCode;     }     public String getKenName() {         return kenName;     }     public void setKenName(String kenName) {         this.kenName = kenName;     }     public String getYomigana() {         return yomigana;     }     public void setYomigana(String yomigana) {         this.yomigana = yomigana;     } } | 
JSONからオブジェクトに変換② – PrefList.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package yurufuwa.prog.sample; import java.util.List; public class PrefList {     List<Pref> prefList = null;     public List<Pref> getPrefList() {         return prefList;     }     public void setPrefList(List<Pref> prefList) {         this.prefList = prefList;     } } | 
JSONからオブジェクトに変換② – input.json
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | {     "prefList" : [         {             "kenCode" : "01",             "kenName" : "北海道",             "yomigana" : "ほっかいどう"         },         {             "kenCode" : "02",             "kenName" : "青森県",             "yomigana" : "あおもりけん"         },         {             "kenCode" : "03",             "kenName" : "岩手県",             "yomigana" : "いわてけん"         }     ] } | 
オブジェクトからJSONに変換 – JacksonTest3.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package yurufuwa.prog.sample; import java.io.File; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTest3 {     public static void main(String[] args) {         try {             //JSONファイルを読み込んで、オブジェクトに変換             File srcFile = new File("d:\\work\\input.json");             ObjectMapper om = new ObjectMapper();             PrefList prefList = om.readValue(srcFile, PrefList.class);             //読み込んだ結果を出力 //            for(Pref pref : prefList.getPrefList()) { //                System.out.println("kenCode:" + pref.getKenCode()); //                System.out.println("kenName:" + pref.getKenName()); //                System.out.println("yomigana:" + pref.getYomigana()); //                System.out.println("--"); //            }             //JSONファイルに書き込み             File destFile = new File("d:\\work\\output.json");             om.writeValue(destFile, prefList);         } catch (Exception e) {             e.printStackTrace();         }     } } | 
オブジェクトからJSONに変換 – Pref.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package yurufuwa.prog.sample; public class Pref {     private String kenCode = null;     private String kenName = null;     private String yomigana = null;     public String getKenCode() {         return kenCode;     }     public void setKenCode(String kenCode) {         this.kenCode = kenCode;     }     public String getKenName() {         return kenName;     }     public void setKenName(String kenName) {         this.kenName = kenName;     }     public String getYomigana() {         return yomigana;     }     public void setYomigana(String yomigana) {         this.yomigana = yomigana;     } } | 
オブジェクトからJSONに変換 – PrefList.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package yurufuwa.prog.sample; import java.util.List; public class PrefList {     List<Pref> prefList = null;     public List<Pref> getPrefList() {         return prefList;     }     public void setPrefList(List<Pref> prefList) {         this.prefList = prefList;     } } | 
オブジェクトからJSONに変換 – input.json
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | {     "prefList" : [         {             "kenCode" : "01",             "kenName" : "北海道",             "yomigana" : "ほっかいどう"         },         {             "kenCode" : "02",             "kenName" : "青森県",             "yomigana" : "あおもりけん"         },         {             "kenCode" : "03",             "kenName" : "岩手県",             "yomigana" : "いわてけん"         }     ] } | 














