お世話になります。
質問はテーマの通り、配列に格納した変数の中身がnullなのかそうでないのかを知りたいです。
下記のソースの一部分を抜粋したものが
java
1for(int i = 0; i<ProductCodeJson.length;i++) { 2 3 boolean nullJsoncheck = check.isNull("requestJs"+i);//isNullメソッドをオーバーロード 4 5 if(nullJsoncheck){ 6 productcode_pre[i] = request.getParameter("requestJs"+i);//nullがとれない 7 }else{ 8 productcode_pre[i] = "0000000000000"; 9 } 10 } 11 for(int i =0; i<productcode_pre.length; i++){ 12 if(productcode_pre[i] != null){ 13 productcode[i] =productcode_pre[i].substring(dec, christmas);//指定した値と値の間の値を取得する(切り取り) 14 System.out.println(productcode[i]); 15 } 16 }
なんですが、
java
1boolean nullJsoncheck = check.isNull("requestJs"+i);//isNullメソッドをオーバーロード 2 3 if(nullJsoncheck){ 4 productcode_pre[i] = request.getParameter("requestJs"+i);//nullがとれない 5 }else{ 6 productcode_pre[i] = "0000000000000"; 7 }
の中身がnullだったら"0000000000000"を代入して中身があれば、その値を代入するという処理をしたいんですが、デバッグで見てみるとif(nullJsoncheck)の部分がtrueにすべてなってしまっていて、パラメーターが本来nullで入っているところもtrueになっているので、配列の中に"0000000000000"が代入したいところにnullが代入されてしまいます。
どうすればよろしいでしょうか?
お分かりの方がいらっしゃれば
お力を貸していただけると非常に助かります。
よろしくお願いいたします。
以下が全文のソースです。
java
1@WebServlet("/Register") 2public class Register extends HttpServlet { 3 private static final long serialVersionUID = 1L; 4 5 private int dec = 12; 6 private int christmas = 25; 7 protected PreparedStatement ps = null; 8 protected Connection con = null; 9 10 final String[] ProductCodeJson = new String[10]; 11 12 13 /*final String ProductCodeJson1 = "requestJs1";//Jsonデータをjqueryから取得。productcodeを格納 14 final String ProductCodeJson2 = "requestJs2";//Jsonデータをjqueryから取得。productcodeを格納 15 final String ProductCodeJson3 = "requestJs3";//Jsonデータをjqueryから取得。productcodeを格納 16 final String ProductCodeJson4 = "requestJs4";//Jsonデータをjqueryから取得。productcodeを格納 17 final String ProductCodeJson5 = "requestJs5";//Jsonデータをjqueryから取得。productcodeを格納 18 final String ProductCodeJson6 = "requestJs6";//Jsonデータをjqueryから取得。productcodeを格納 19 final String ProductCodeJson7 = "requestJs7";//Jsonデータをjqueryから取得。productcodeを格納 20 final String ProductCodeJson8 = "requestJs8";//Jsonデータをjqueryから取得。productcodeを格納 21 final String ProductCodeJson9 = "requestJs9";//Jsonデータをjqueryから取得。productcodeを格納 22 final String ProductCodeJson10 = "requestJs10";//Jsonデータをjqueryから取得。productcodeを格納*/ 23 24 /** 25 * @see HttpServlet#HttpServlet() 26 */ 27 public Register() { 28 super(); 29 } 30 31 public void init() throws ServletException 32 { 33 // データベースへ接続 34 con= ConnectDatabase.getConnection(); 35 } 36 37 /** 38 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 39 */ 40 protected void doPost(HttpServletRequest request, 41 HttpServletResponse response) throws ServletException, IOException { 42 43 /*for(int i=0;i<ProductCodeJson.length;i++){ 44 45 ProductCodeJson[i] ="requestJs"+i; 46 }*/ 47 48 // HttpSession session = request.getSession(true); 49 // String login = (String)request.getAttribute("insertURI"); 50 51 String[] productcode_pre = new String[10]; 52 String[] productcode = new String[10]; 53 54 Check check = new Check(); 55 56 57 for(int i = 0; i<ProductCodeJson.length;i++) { 58 59 boolean nullJsoncheck = check.isNull("requestJs"+i);//isNullメソッドをオーバーロード 60 61 if(nullJsoncheck){ 62 productcode_pre[i] = request.getParameter("requestJs"+i);//nullがとれない 63 }else{ 64 productcode_pre[i] = "0000000000000"; 65 } 66 } 67 for(int i =0; i<productcode_pre.length; i++){ 68 if(productcode_pre[i] != null){ 69 productcode[i] =productcode_pre[i].substring(dec, christmas);//指定した値と値の間の値を取得する(切り取り) 70 System.out.println(productcode[i]); 71 } 72 } 73 } 74}
回答2件
あなたの回答
tips
プレビュー