こんにちは。現在Javaの学習をしているものです。
こちらの質問に関連したものになります。
https://teratail.com/questions/287089
getメソッドを用いて取得した英数字交じりのID(A01-0100)の左から3文字だけを抜き出したいと考えています。
###実現したいこと
Java
1ArrayList<MainGenreDTO> allGenreList = new ArrayList<>(); 2if (mainGenreList != null) { 3 for (int i = 0; i < mainGenreList.size(); ++i) { 4 5 GenreDTO genreInfo = mainGenreList.get(i); 6 7 MainGenreDTO mainGenre = new MainGenreDTO(genreInfo.getId(), genreInfo.getName()); 8 9 allGenreList.add(mainGenre); 10 } 11}
にて
allGenreList.add(mainGenre);
にセットする情報を
genreInfo.getId(), genreInfo.getName()
に加えてID(A01-0100)の左から3文字(A01)だけを抜き出してallGenreListに追加することは可能でしょうか。
イメージとしてはallGenreListに
ID、名前、左から3文字だけ抜き出したID
の3つが格納されているというイメージです。
拙い説明で申し訳ございませんが、お力を貸していただけると嬉しいです。
どうぞよろしくお願いいたします。
###現在の私のソースコード
DTO
1public class MainGenreDTO { 2 private String id; 3 private String name; 4 5 public MainGenreDTO(String id, String name) { 6 this.id = id; 7 this.name = name; 8 } 9 10 public String getId() { 11 return id; 12 } 13 public void setId(String id) { 14 this.id = id; 15 } 16 public String getName() { 17 return name; 18 } 19 public void setName(String name) { 20 this.name = name; 21 } 22}
Servlet
1import java.io.IOException; 2import java.sql.SQLException; 3import java.util.ArrayList; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9 10import javax.servlet.http.HttpServletResponse; 11 12import common.LoggerTester; 13import dao.GenreDAO; 14import dto.GenreDTO; 15 16public class InitializationListener implements ServletContextListener { 17 public void contextInitialized(ServletContextEvent event) { 18 ServletContext context = event.getServletContext(); 19 20 // ログの出力 21 LoggerTester lt = new LoggerTester(); 22 lt.outActionLog("InitializationListener.java", "処理開始"); 23 24 GenreDAO bn = new GenreDAO(); 25 ArrayList<GenreDTO> maingenreList = bn.MainGenresAll(); 26 27 ArrayList<MainGenreDTO> allGenreList = new ArrayList<>(); 28 if (mainGenreList != null) { 29 for (int i = 0; i < mainGenreList.size(); ++i) { 30 31 GenreDTO genreInfo = mainGenreList.get(i); 32 33 MainGenreDTO mainGenre = new MainGenreDTO(genreInfo.getId(), genreInfo.getName()); 34 35 allGenreList.add(mainGenre); 36 } 37 } 38 39 40 //DTOにセットしたmaingenreidとmaingenrenameをallgenreListにDTO型として格納する 41 ArrayList<GenreDTO> allgenreList = 42 43 44 // genreListデータをapplicationスコープで保存 45 context.setAttribute("allgenreList", allgenreList); 46 47 } 48 49 public void contextDestoryed(ServletContextEvent event) { 50 ServletContext context = event.getServletContext(); 51 context.removeAttribute("allgenreList"); // 削除処理 52 } 53}
回答1件
あなたの回答
tips
プレビュー