Я обновил свой код. У меня есть 3 arraylists и в зависимости от условия я хочу обновить значения. Я использую каждый цикл для итерации, но теперь я делаю что-то не так с разрывом, он не сбрасывает / не подбирает следующее значение для типа и длины. Это только сброс имени.
List <String> columnNameList = new ArrayList <String>();
List <String> columnTypeList = new ArrayList <String>();
List <Integer> columnLengthList = new ArrayList <Integer>();
String result = "";
columnNameList.add("Id");
columnNameList.add("Name");
columnNameList.add("Address");
columnTypeList.add("char");
columnTypeList.add("varchar");
columnTypeList.add("varchar");
columnLengthList.add(18);
columnLengthList.add(50);
columnLengthList.add(10000);
outermostloop: for (String name : columnNameList )
{
outerloop: for (String type : columnTypeList)
{
loop: for (int len : columnLengthList)
{
if(len > 0 && (!type.equalsIgnoreCase("int") && !type.equalsIgnoreCase("datetime") && !type.equalsIgnoreCase("datetime2")))
{
if(len > 8000 && !(name.equalsIgnoreCase("Id")) && (type.equalsIgnoreCase("varchar")))
{
result = name + type + "(max) ";
System.out.println("if len > 8000 && name not id and type is varchar " + result);
// O/P expected : Address varchar(max)
}
else
{
String finalres = name + type + "("+ len +") ";
System.out.println("No conversion " + finalres);
/* O/P expected : Id char(18)
Name varchar(50)
*/
}
}
break outerloop;
}
}
}
But what I am getting with above logic :
No conversion Id char (18)
No conversion Name char (18)
No conversion Address char (18)