package com.wonders.week01;
/** 以JDK1.7为基础
* java.lang.Boolean
* (1)继承自java.lang.Object类
* (2)实现了java.io.Serializable,Comparable<Boolean>接口
* (3)是final所修饰的类,不可以改变.
* (4)有一个构造方法:Boolean(boolean value)
* (5)有一个构造方法:Boolean(String s)如果s!=null && s等于true的时候就会返回true
* @author liyongyong
*
*/
public class BooleanTest {
static Boolean flag ;
static Boolean flag1;
public static void main(String[] args) {
//因为Boolean是一个类,flag是该类的对象,对象默认值为null
System.out.println(flag);//null
flag = true;
flag1 = false;
//booleanValue方法返回Boolean对象的一个基础数据类型值
System.out.println(flag.booleanValue());//true
/*
* public static int compare(boolean x,boolean y)
* (1)compare是static修饰的,所以可以直接用类名.方法名的形式调用
* (2)compare的两个参数都是boolean类型,返回值类型为int
* (3)当两个参数值都为true或者false时,结果返回0
* (4)当第一个参数为false,第二个参数为true时,结果返回-1
* (5)当第一个参数为true,第二个参数为false时,结果返回1
*/
int result1 = Boolean.compare(true, true);
System.out.println(result1);//0
int result4 = Boolean.compare(false, false);
System.out.println(result4);//0
int result2 = Boolean.compare(false, true);
System.out.println(result2);//-1
int result3 = Boolean.compare(true, false);
System.out.println(result3);//1
/*
* public int compareTo(Boolean b)
* (1)返回值类型是int,参数类型是Boolean类型对象
* (2)如果参数为null,会发生NullPointException异常
* (3)如果Boolean对象和参数相等,则返回0
* (4)如果Boolean对象为true,参数为flase,返回值是1
* (5)如果Boolean对象为false,参数为true,返回值是-1
*/
int result5 = flag.compareTo(flag);
System.out.println(result5);//0
int result7 = flag.compareTo((Boolean)false);
System.out.println(result7);//1
int result8 = flag1.compareTo(flag);
System.out.println(result8);//-1
// int result6 = flag.compareTo(null);
// System.out.println(result6);//发生NullPointException异常
/*
* public static boolean parseBoolean(String s)
* (1)如果s不为空且等于true,则返回true
* (2)与(1)条件对立,则返回false
* (3)参数类型为String,且返回值是boolean型,静态方法
*/
boolean flag2 = Boolean.parseBoolean("hello");
System.out.println(flag2);//false
boolean flag3 = Boolean.parseBoolean("true");
System.out.println(flag3);//true
boolean flag4 = Boolean.parseBoolean("True");
System.out.println(flag4);//true
/*
* public static Boolean valueOf(boolean b)
* (1)静态方法,返回值类型是Boolean类型,参数是一个基本数据boolean类型
* (2)此方法的底层实现使用了三目运算符?:
* (3)该方法返回参数的boolean值
*/
Boolean flag5 = Boolean.valueOf(true);
System.out.println(flag5);//true
Boolean flag6 = Boolean.valueOf(false);
System.out.println(flag6);//false
/*
* public static Boolean valueOf(String s)
* (1)静态方法,返回值类型是Boolean类型,参数是一个引用数据类型String
* (2)该方法返回参数String代表的boolean值
*/
Boolean flag7 = Boolean.valueOf("a");
System.out.println(flag7);//false
Boolean flag8 = Boolean.valueOf("truE");
System.out.println(flag8);//true
Boolean flag9 = Boolean.valueOf("false");
System.out.println(flag9);//false
/*
* public static String toString(boolean b)
* (1)静态方法,返回值类型是String类型,参数是一个基本数据boolean类型
* (2)此方法的底层实现使用了三目运算符?:
* (3)该方法返回该boolean型参数的字符串形式
*/
String str1 = Boolean.toString(true);
System.out.println(str1);//true
String str2 = Boolean.toString(false);
System.out.println(str2);//false
/*
* public String toString()
* (1)非静态方法,返回值类型是String类型,无参数
* (2)此方法的底层实现使用了三目运算符?:
* (3)该方法返回该boolean型参数的字符串形式
*/
String str3 = flag.toString();
System.out.println(str3);//true
/*
* public int hashCode()
* (1)非静态方法,返回值类型是int类型,无参数
* (2)此方法的底层实现使用了三目运算符?:
* (3)该方法返回该Boolean对象的哈希值
*/
int trueHashcode = flag.hashCode();
System.out.println(trueHashcode);//1231
int falseHashcode = flag1.hashCode();
System.out.println(falseHashcode);//1237
/*
* public boolean equals(Object obj)
* (1)非静态方法,返回值类型是boolean类型,参数是一个对象
* (2)该方法返回值是boolean类型
* (3)调用equals方法,先使用instanceof判断该对象是否是Boolean对象
* 如果不是Boolean对象,则返回false;
* 如果是Boolean对象,则返回该Boolean对象的基本数据类型boolean的值
*/
boolean b1 = flag.equals(null);
System.out.println(b1);//false
boolean b2 = flag1.equals("true");
System.out.println(b2);//false
boolean b3 = flag.equals(true);
System.out.println(b3);//true
/*
* public static boolean getBoolean(String name)
* (1)静态方法,返回值类型是boolean类型,参数是一个String类型字符串
* (2)该方法返回值是boolean类型
*/
boolean b4 = Boolean.getBoolean(null);
System.out.println(b4);//false
boolean b5 = Boolean.getBoolean("");
System.out.println(b5);//false
boolean b6 = Boolean.getBoolean("true");
System.out.println(b6);//false
/*
* public static int compare(boolean x, boolean y)
* (1)静态方法,返回值类型是int类型,参数是两个boolean类型值
* (2)该方法返回值是int类型
* (3)使用三目运算符?:
* 如果两个参数相等,则返回0;否则如果第一个参数为true,则返回1,反之返回-1
*/
int r1 = Boolean.compare(true, true);
System.out.println(r1);//0
int r2 = Boolean.compare(false, false);
System.out.println(r2);//0
int r3 = Boolean.compare(true, false);
System.out.println(r3);//1
int r4 = Boolean.compare(false, true);
System.out.println(r4);//-1
/*
* private static boolean toBoolean(String name)
* (1)静态方法,返回值类型是boolean类型,参数是一个String类型字符串
* (2)该方法返回值是boolean类型
* (3)该方法访问权限修饰符是private
* (4)该方法只可以在Boolean这个类中被自身调用,其他类是无权限访问的。
*/
}
}
API之Boolean学习
最新推荐文章于 2023-11-26 23:26:14 发布