JAVA菜鳥入門(10)類初期化,文字列比較equals()v.s.==,Casting,ArrayList注意

3811 ワード

一.クラスの初期化
第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
;
            }