パッキング
概念:基本データ型をオブジェクト型にカプセル化するクラスは、ラッパークラスと呼ばれます(利点は、基本値を操作するためのより多くの関数を提供できることです)。
Javaは、図に示すように、対応するパッケージ化クラスの8つの基本タイプを提供します。
文字列を基本型に変換します。
注:parseXXX(String s); XXXが基本タイプを表す場合、パラメーターは基本タイプに変換できる文字列です。文字列を基本タイプに変換できない場合、数値変換の問題がNumberFormatExceptionに発生します。
基本的な値を文字列に変換する方法は3つあります。
- 基本タイプは「」、34 + 「」で直接接続できます
- StringのvalueOfメソッドを呼び出す; String.valueOf(34) ;
3.ラッパークラスのInStringer.toString(34);で toStringメソッドを呼び出します。
JDK5の機能:自動パックおよびアンパック
- 自動ボックス化解除:オブジェクトは基本値に変換されます
- 自動パッキング:基本的な値はオブジェクトに変換されます
整数i = 4; //自動パッキング。Integer i = Integer.valueOf(4);と同等。
i = i + 5; //等号の右側:iオブジェクトを基本値に変換(自動ボックス化解除)i.intValue()+ 5;追加操作が完了したら、再度ボックスして基本値をオブジェクトに変換します
- 自動ボクシング(バイト定数プール)詳細のデモ
値がバイト範囲内にある場合、自動ボックス化が実行され、新しいオブジェクトスペースを作成する代わりに既存のスペースが使用されます。
整数a = new Integer(3);
整数b = new Integer(3);
システム。out .println(a == b); // false
システム。out .println(a.equals(b)); // true
整数x = 127;
整数y = 127;
// jdk1.5が自動的にボックス化されるとき、値がバイト範囲内にある場合、オブジェクトスペースは新しく作成されず、既存のスペースが使用されます。
システム。out .println(x == y); // true
システム。out .println(x.equals(y)); // true
charは、パッケージクラスのCharacterクラスを提供します。
一般的な方法:
1 |
isLetter(): 文字かどうか |
2 |
isDigit():数字かどうか |
3 |
isWhitespace():空白文字かどうか |
4 |
isUpperCase():大文字かどうか |
5 |
isLowerCase():小文字かどうか |
6 |
toUpperCase():文字の大文字を指定します |
7 |
toLowerCase():小文字を指定します |
8 |
toString():文字列形式を返します。文字列の長さは1のみです |
ケース:さまざまな文字列の数を数える
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
String s1= "wwwTTTcccyyy193yyy";
// 把字符串转换为字符数组
char[] chs = s1.toCharArray();
// 遍历字符数组,获取每一个字符
for (int x = 0; x < chs.length; x++) {
// 判断该字符是
if (Character.isUpperCase(chs[x])) {
bigCount++;
} else if (Character.isLowerCase(chs[x])) {
smallCount++;
} else if (Character.isDigit(chs[x])) {
numberCount++;
}
}
// 输出结果即可
System.out.println("大写字符:" + bigCount + "个");
System.out.println("小写字符:" + smallCount + "个");
System.out.println("数字字符:" + numberCount + "个");