JAVA菜鳥入門(10)類初期化,文字列比較equals()v.s.==,Casting,ArrayList注意
3811 ワード
一.クラスの初期化
第1種
より推奨されるのは、構造関数を簡略化または省略し、コードを簡潔にすることです.
第2種
クラス内の呼び出し親を初期化
二.配列の初期化
1文字列配列
三.文字列の比較
== tests for reference equality. while.equals() tests for value equality.
equalsは値の比較を行い,==同じobjectであるか否かを比較する.
四.casting
五.ArrayList
C++のようなvectorThe ArbrayList is an abstraction for an automatically growable List of elements.
ソースコードを見る
学習したいくつかの比較的に熟知していない関数
retainAll( )
//Add some elements to lList:
lList.add("Isabella"); lList.add("Angelina"); lList.add("Pille"); lList.add("Hazem"); //Add some elements to aList: aList.add("Isabella"); aList.add("Angelina");
aList.add("Bianca");
lList.retainAll(aList); //The aList collection after: [Isabella,Angelina, Bianca]
ArrayListはパッケージ後のT[]array
C++のようなvector
methodはArrayListのみsize()とArrayList.trimToSize()なので、Capacity()を直接見ることはできません.
ArrayListのcapacityが動的に増加するため、ArrayListはunbounded sizeのlistに似ていると考えられます.でもArrayListの
equals()
public
boolean
More ...equals(Object anObject) {
if
(
this
== anObject) {
return true;
}
if
(anObject
instanceof
String) { String anotherString = (String)anObject;
int
n = count;
if
(n == anotherString.count) {
char
v1[] = value;
char
v2[] = anotherString.value;
int
i = offset;
int
j = anotherString.offset;
while
(n-- != 0) {
if
(v1[i++] != v2[j++])
return
false
; }
return
true
; } }
return
false
;
}
第1種
より推奨されるのは、構造関数を簡略化または省略し、コードを簡潔にすることです.
第2種
public class WeatherForecast{
private String skies = "";
private int high = 0;
private int low = 0;
public void setSkies(String a) {
skies = a;
}
public void setLow(int a) {
low = a;
}
public void setHigh(int a) {
high = a;
}
public String getSkies() {
return skies;
}
public int getHigh() {
return high;
}
public int getLow() {
return low;
}
}
public class WeatherForecast{
public WeatherForecast(){
skies = "";
high = 0;
low = 0;
}
public void setSkies(String a) {
skies = a;
}
public void setLow(int a) {
low = a;
}
public void setHigh(int a) {
high = a;
}
public String getSkies() {
return skies;
}
public int getHigh() {
return high;
}
public int getLow() {
return low;
}
}
クラス内の呼び出し親を初期化
public MP3Phone(String a, int b, boolean c) {
super(a, true);
memorySize = b;
playsAAC = c;
}
二.配列の初期化
1文字列配列
String [] week = { "mon", "tue", "wed", "thu", "fri", "sat", "sun"};
三.文字列の比較
== tests for reference equality. while.equals() tests for value equality.
equalsは値の比較を行い,==同じobjectであるか否かを比較する.
String s33= new String("hello");
String s34= new String("hello");
System.out.println(s33==s34);// false object 。
System.out.println(s33.equals(s4)); // true
, , equals( ).
,
String s31 = "hello";
String s32 = "hello";
System.out.println(s31==s32); // true string liberal,
四.casting
Casting
int a = 3;
int b = 7;
float c =(float) a / b; // float c =((float) a / b);
System.out.println(c); // 0.42857143
五.ArrayList
C++のようなvectorThe ArbrayList is an abstraction for an automatically growable List of elements.
ソースコードを見る
学習したいくつかの比較的に熟知していない関数
retainAll( )
//Add some elements to lList:
lList.add("Isabella"); lList.add("Angelina"); lList.add("Pille"); lList.add("Hazem"); //Add some elements to aList: aList.add("Isabella"); aList.add("Angelina");
aList.add("Bianca");
lList.retainAll(aList); //The aList collection after: [Isabella,Angelina, Bianca]
ArrayListはパッケージ後のT[]array
C++のようなvector
methodはArrayListのみsize()とArrayList.trimToSize()なので、Capacity()を直接見ることはできません.
ArrayListのcapacityが動的に増加するため、ArrayListはunbounded sizeのlistに似ていると考えられます.でもArrayListの
equals()
public
boolean
More ...equals(Object anObject) {
if
(
this
== anObject) {
return true;
}
if
(anObject
instanceof
String) { String anotherString = (String)anObject;
int
n = count;
if
(n == anotherString.count) {
char
v1[] = value;
char
v2[] = anotherString.value;
int
i = offset;
int
j = anotherString.offset;
while
(n-- != 0) {
if
(v1[i++] != v2[j++])
return
false
; }
return
true
; } }
return
false
;
}