java知识点15

子类转父类无需强转。
父类转子类,需要强转,并且转换能否成功取决于被转换的对象是否真的是目标类型的一员:
class TBase{
    int c=5;
}
public class zhuan extends TBase{
    int a=10;
    public static void main(String[] args) {
        zhuan z=(zhuan)new TBase();
        System.out.println(z.a);
        System.out.println(z.c);
    }
}
执行后如下:转换失败,因为被转换的对象本质上是TBase类对象,并不是zhuan类对象

public class zhuan extends TBase{
    int a=10;
    public static void main(String[] args) {
        
        TBase z = new zhuan();
        zhuan zz=(zhuan)z;
        System.out.println(zz.a);
        System.out.println(zz.c);
    }
}
执行结果如下:转换成功,被转换对象原本是zhuan类对象,先被转为Tbase类,后被转为zhuan类,so,可以

Map.Entry说明:
Map是java中的接口,Map.Entry是Map的一个内部接口。
Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。
Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
遍历所有的key-value:entrySet():Set<> entrySet = map.entrySet();再使用迭代器Iterator<Map.Entry<Integer, Integer>> entries = entrySet.iterator();,再使用getKey()或getValue()获取

数组中常用方法
 声明数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};

1. 打印数组
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);

2. 从数组创建一个 ArrayList
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));

3. 检查数组是否包含某一个值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");

4. 合并数组
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

5. 一行代码声明数组
method(new String[]{"a", "b", "c", "d", "e"});

6. 把数组中的元素用指定的分隔符连接起来
// containing the provided list of elements
// Apache common lang
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");

7. 把一个 ArrayList 转换成数组
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);

8. 把一个数组转换成 Set
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));

9. 反转数组
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);

10. 移除数组中的元素
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array

int与char的转换:
(1)int类型转char类型,将数字加一个‘0’,并强制类型转换为char即可。
(2)char类型装int类型,将字符减一个‘0’即可。
public static void main(String[] args) {
    //int类型转char类型
    int number = 9;
    char cNumber= (char) (number+'0');
    System.out.println("Number "+number+" to char is:"+cNumber);
     
    //char类型转int类型
    char cNumber2='3';
    int number2=cNumber2-'0';
    System.out.println("Char "+cNumber2+" to number is:"+number2);
}

ascii码转对应字符:char(ascii)

int转String有三种方式
(1)num + “”
(2)String.valueOf(num)
(3)Integer.toString(num)

//String -> StringBuffer
         //创建一个String对象
         String str = "Hi Java!";
         System.out.println(str);

         //方式一:构造方法
         StringBuffer buffer = new StringBuffer(str);
         System.out.println(buffer);
  
         //方式二:通过append方法
         StringBuffer buffer2 = new StringBuffer();
         buffer2.append(str);
         System.out.println(buffer2);
  
//StringBuffer -> String
         //创建一个StringBuffer对象
         StringBuffer buffer3 = new StringBuffer();
         buffer3.append("Happy birthday Java!");
         System.out.println(buffer3);
  
         //方式一:通过构造方法
         String str2 = new String(buffer3); 
         System.out.println(str2);
          
         //方式二:通过toString方法
         String str3 = buffer3.toString();
         System.out.println(str3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值