forループの中でremove操作を行わないでください.forループのremove要素の後、listの下付き文字が減少して、遍歴が不完全になります...
2519 ワード
1,foreachサイクルで要素のremove/add操作を行わない
remove要素はIterator方式を使用し、同時に操作する場合はIteratorオブジェクトにロックをかける必要があります.
正例:
反例:
forサイクルでremove要素をループするとlistの下付き文字が減少し,遍歴が不完全になる.
2,asListの戻りオブジェクトはArrays内部クラスであり,集合の修正方法は実現されていない.Arrays.asListはアダプタモードを体現し,インタフェースを変換するだけで,バックグラウンドのデータは配列である.
3,集合タイプを配列に変換し,配列の下に境界を越える問題を防止する.次のように変換
4,try{}catch{}文ブロック:
finallyのコードブロックは必ず実行され、finallyコードブロックの前に関数にreturn文があってもfinallyコードブロックは実行されます.
System.exit(0);この文の後のfinallyは実行されません
finallyの役割は、異常が発生しているかどうかにかかわらず、資源を解放することです.リソースはfinallyに解放されます
5、同じクラスの各オブジェクトに異なるメンバー変数の記憶領域がある
同じクラスの各オブジェクトの共有方法
6,javaがオブジェクトを比較する場合,===はオブジェクトのメモリスタック内のアドレスを比較する.
StringはObjectのequalsメソッドを書き換えたので、同じ文字列が2つあり、equalはtrueを返します.
public boolean equals(Object anObject)
Compares this string to the specified object.
The result is true if and only if the argument is not null and is a String object
that represents the same sequence of characters as this object.
5,instanceof前のクラスが後のクラスに属するか否かを判断する後のクラスを保護する
6,LIst,Set,Map集合に基本データ型を追加することはできません(基本型を入れて自動的に参照型に箱詰めできます)、objectをインストールする必要があります
7, enctype="multipart/form-data"
formフォーム画像のファイルをコミットするときにenctypeタイプを設定する
さもないと新聞が出る
org.springframework.web.multipart.MultipartException: The current request is not a multipart request
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.assertIsMulti
転載先:https://www.cnblogs.com/yanyuechao/p/8371192.html
remove要素はIterator方式を使用し、同時に操作する場合はIteratorオブジェクトにロックをかける必要があります.
正例:
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if ( ) {
iterator.remove();
}
}
反例:
public static void main(String args[]){
List list = new ArrayList();
list.add("1");
list.add("1");
for (String item : list) {
if ("1".equals(item)) { list.remove(item);
} }
System.out.println(list.toString());
}
//output: [1]
forサイクルでremove要素をループするとlistの下付き文字が減少し,遍歴が不完全になる.
2,asListの戻りオブジェクトはArrays内部クラスであり,集合の修正方法は実現されていない.Arrays.asListはアダプタモードを体現し,インタフェースを変換するだけで,バックグラウンドのデータは配列である.
String[] str = new String[] { "you", "wu" };
List list = Arrays.asList(str);
str[0] = "yy";
System.out.println(list.toString());
//output: [yy, wu]
list.add("yangguanbao");
//
3,集合タイプを配列に変換し,配列の下に境界を越える問題を防止する.次のように変換
List list = new ArrayList(2);
list.add("guan");
list.add("bao");
String[] array = new String[list.size()];
4,try{}catch{}文ブロック:
finallyのコードブロックは必ず実行され、finallyコードブロックの前に関数にreturn文があってもfinallyコードブロックは実行されます.
System.exit(0);この文の後のfinallyは実行されません
finallyの役割は、異常が発生しているかどうかにかかわらず、資源を解放することです.リソースはfinallyに解放されます
5、同じクラスの各オブジェクトに異なるメンバー変数の記憶領域がある
同じクラスの各オブジェクトの共有方法
6,javaがオブジェクトを比較する場合,===はオブジェクトのメモリスタック内のアドレスを比較する.
StringはObjectのequalsメソッドを書き換えたので、同じ文字列が2つあり、equalはtrueを返します.
public boolean equals(Object anObject)
Compares this string to the specified object.
The result is true if and only if the argument is not null and is a String object
that represents the same sequence of characters as this object.
5,instanceof前のクラスが後のクラスに属するか否かを判断する後のクラスを保護する
6,LIst,Set,Map集合に基本データ型を追加することはできません(基本型を入れて自動的に参照型に箱詰めできます)、objectをインストールする必要があります
7, enctype="multipart/form-data"
formフォーム画像のファイルをコミットするときにenctypeタイプを設定する
さもないと新聞が出る
org.springframework.web.multipart.MultipartException: The current request is not a multipart request
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.assertIsMulti
転載先:https://www.cnblogs.com/yanyuechao/p/8371192.html