当前位置: 首页 > 编程笔记 >

浅谈Java中强制类型转换的问题

贝礼骞
2023-03-14
本文向大家介绍浅谈Java中强制类型转换的问题,包括了浅谈Java中强制类型转换的问题的使用技巧和注意事项,需要的朋友参考一下

为了更好的理解我们先看下面的例子:

package com.yonyou.test; 
 
import java.util.ArrayList; 
import java.util.Iterator; 
import java.util.List; 
 
 
/** 
 * 测试类 
 * @author 小牛知识库 
 * @创建日期 2016-5-31 
 */
 
public class Test{ 
public static void main(String[] args) { 
   List<String> list=new ArrayList<String>(); 
   list.add("Hello"); 
   list.add("World"); 
   list.add("HAHAHAHA"); 
    
 
  String[] strArray2=new String[list.size()]; 
  list.toArray(strArray2); 
  for(int i=0;i<strArray2.length;i++) 
  { 
    System.out.println(strArray2[i]); 
  } 
   
  //下面的内容将会出现强制转换的错误 
  String[] strArray=(String[]) list.toArray();  //list.toArray()会返回Object[]类型的数组,想强制转换为String[] 
  for(int i=0;i<strArray.length;i++) 
  { 
    System.out.println(strArray[i]); 
  } 
 
 } 
}

以上这篇浅谈Java中强制类型转换的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈Java数值类型的转换与强制转换,包括了浅谈Java数值类型的转换与强制转换的使用技巧和注意事项,需要的朋友参考一下 数值类型之间的转换 6个实心箭头箭头表示无信息丢失的转换; 3个虚箭头表示可能有精度损失的转换. 当使用上面两个数值进行二元操作时,先要将两个操作数转换为同一类型,然后再进行计算. 规则:`两个数中小类型的值将自动转换为大类型的值. 小转大可以,但是大转小会损失精

  • 在Java中,大家都知道整数不能转换为字符串,这是编译时的一个错误。 对于这个一般的情况, 我只是不明白为什么在这种情况下,java不能在编译时警告您整数转换为字符串。为什么?据我所知,类型删除是在编译后发生的。 编辑:我只是以为编译器有类型推断才知道T是字符串,这样就不能将Integer强制转换为。但显然没有。

  • 本文向大家介绍关于C++的强制类型转换浅析,包括了关于C++的强制类型转换浅析的使用技巧和注意事项,需要的朋友参考一下 前言 一说起强制类型转换大家都很熟悉,相信很多学习完C++的朋友还在使用C语言的强制类型的方式 (类型)变量. C++其实也具有自己的一套强制类型转换它们分明是:static_cast  reinterpret_cast  const_cast  dynamic_cast四种类型

  • 强制类型转换 隐式类型转换:隐式类型转换又称为自动类型转换,隐式类型转换可分为三种:算术转换、赋值转换和输出转换。 显式类型转换:显式类型转换又称为强制类型转换,指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型,这种类型转换可能会造成数据的精度丢失。 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。 转换的方法有两种: 自动转换(隐式转换):遵循一定的规则

  • 问题内容: 我对shortJava中的原始类型有疑问。我正在使用JDK 1.6。 如果我有以下情况: 编译器不想进行编译-它说它“不能从int转换为short”,并建议我进行强制转换为short,因此: 确实有效。但是我的问题是为什么我需要演员表?a和b的值在的范围内short-短值的范围是。当我想执行操作(我没有检查其他操作)时,也需要进行强制转换。 如果对原始类型执行相同的操作int,则无需将

  • 问题内容: 我对 Java中的原始类型有疑问。我正在使用JDK 1.6。 如果我有以下情况: 编译器不想进行编译-它说它“不能从int转换为short”,并建议我进行强制转换为short,因此: 确实有效。但是我的问题是为什么我需要演员表?a和b的值在的范围内short-短值的范围是{-32,768,32767}。当我想执行操作-,(我没有检查其他操作)时,还需要进行强制转换。 如果对原始类型执行

  • 本文向大家介绍C#中的自动类型转换和强制类型转换,包括了C#中的自动类型转换和强制类型转换的使用技巧和注意事项,需要的朋友参考一下 前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢? 运行结果是:1 我们把一个整型的变量赋值给了一个浮点型的变量,可以正常的输出,如果我们把一个浮点型的变量赋值给一个整型的变量呢? 这样就会报错。 为什么呢?因为我们之前说过,变量就像一个容器,

  • 问题内容: 我有以下两节课: 和: 当我运行测试时,一切都是笨拙的。如果我将类型参数化更改为: 编译器抱怨,报告: 错误:类型不兼容的整数不能转换为T number = new Integer(11); 其中T是类型变量T扩展了在方法getSomeValue(boolean)中声明的Object 它同样对Double有所抱怨。为什么? 编辑:我犯了一个错误。这实际上是有效的代码。 现在我明白了@S