首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

2019年Java面试题基础系列228道(4),快看看哪些你还不会?

Java 中怎么创建一个不可变对象? 16、我们能创建一个包含可变对象的不可变对象? 17、Java 中应该使用什么数据类型来代表价格? 18、怎么 byte 转换为 String?...19、Java 中怎样 bytes 转换为 long 类型? 20、我们能将 int 强制转换为 byte 类型变量?如果该值大于byte 类型的范围,将会出现什么现象?...一种实践是用 volatile 修饰 long double 变量,使其能按原子类型来读写。...这些方法更新请求放入 AWT 的线程队列中,可以一直等待,也可以通过异步更新直接返回结果。你也可以在参考答案中查看学习到更详细的内容。 11、什么是线程局部变量?...20、我们能将 int 强制转换为 byte 类型变量?如果该值大于 byte 类型的范围,将会出现什么现象?

66000

基本数据类型包装类

2、包装类常用方法 从源代码的角度来看,基础类型包装类型可以通过赋值语法赋值给对立的变量类型,如下面的代码所示。...但是,Java作为一种强类型的语言,对象直接赋值给引用类型变量,而基础数据只能赋值给基本类型变量,这个是毫无异议的。那么基本类型包装类型为什么可以直接相互赋值呢?...123) + "O"); } } 运行结果: 3、装箱与拆箱 3.1、装箱 装箱就是java自动原始类型值转换成对应的对象,比如int的变量转换成Integer对象,这个过程叫做装箱。...3.2、拆箱 拆箱就是java自动将对应的对象转换成原始类型值,比如Integer对象转换成int的变量,这个过程叫做拆箱 自动拆箱时,编译器通过调用类似xxxValue()这类方法(如:intValue...其他的也类似,比如Double、Boolean,不相信的朋友可以自己手动尝试一下。

78210

掌握8条泛型规则,打造优雅通用的Java代码

掌握8条泛型规则,打造优雅通用的Java代码在Java开发中泛型以类型安全代码复用的特性扮演着关键角色掌握好泛型能够确保类型安全、提升代码复用、降低维护成本,打造出优雅通用的代码本文基于 Effective...,在编译期泛型擦除并完成强制转换在编译期间当发生这种情况时会在编译期间报错,从而尽早的发现错误为了对历史版本兼容,也可以不需要指定泛型,这种情况称为原生态泛型原生态泛型只是为了兼容历史版本,它会丢失使用泛型的所有优点...>如果使用泛型Object则可以存放任何对象,因为Object是所有类的父类但是对象从集合中取出时,只能转换为Object,如果需要转换为其他类型则还是需要强制转换 List... listClass = List.class; //不合法 List.class使用interface时只能使用原生态泛型(因为运行时已经类型擦除...(aDouble); }总结使用泛型能够指定对象类型,在编译期间进行类型擦除并强制转换为对应类型除了兼容历史版本、获取Class对象、使用interface三种情况只能使用原生类型其他情况下都建议使用泛型泛型能够带来安全

3421

基础篇:JAVA基本类型

,不会随着系统或者jvm配置的位数而改变 3:char类型变量能不能储存一个中文的汉字,为什么 java 默认编码是unicode编码方式每个字符占用两个字节,char是16位类型,因此可以储存中文字符...因为java产生对象,一般是需在堆创建维护,再通过栈的引用来使用,但是对于简单的小的变量,需要在堆创建再使用不方便 为什么会有包装类 包装类基本类型包装起来,使其具有对象的性质,可以添加属性方法,丰富基本类型的操作...6:基本类型的自动转换 布尔类型boolean不存在隐式转换为其他类型(非自动封装类型) 整数类型的自动提升 byte -> (short/char) -> int -> long (自动提升链) 表示范围低的数据类型可隐式自动提升为表示范围高的数据类型...浮点型数据的自动提升 floatdouble存在精误差问题,double如果强制float则存在精度丢失问题 ? 7:short s1 = 1; s1 = s1 + 1;有错?...double值赋值给long类型变量 不行,因为double取值范围大于long类型

1.2K20

Java 从入坑到放弃】No 3. 变量与数据类型

所谓变量,就是用来命名一个数据的标识符,在 Java 中,变量可以分为两种: 基本类型变量 引用类型变量 // 基本类型变量 int id = 1; // 引用类型变量 String name...对于 Java 编译器有着特殊意义,用来表示一种数据类型,或者表示程序的结构等。此外,关键字不能用作变量名、方法名、类名、包名参数名。...Java 编译器中,对于字符串其他数据类型之间,可以使用 + 进行连接,编译器会自动将其他数据类型自动转换为字符串,然后再进行连接; String 既然是不可变,那有什么优点呢?...对于基本数据类型,不同类型之间是可以相互转换的,但是需要满足一定的条件; 从小到大自动,从大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接低精度的值赋给高精度的值即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险

1.1K20

Java数据类型(八种基本数据类型 + 四种引用类型)、数据类型转换

,无其他额外功能,具体介绍如下第2小节引用类型:参数传递时,以拷贝引用地址的方式传递给接收变量,而非复制整个数据本体。...为了基本数据类型可以与引用数据类型互相转换、以利用彼此的特性,java为每一种基本数据类型提供了相应的包装类。...自动装箱/拆箱:基本类型包装类型之间可以进行自动装箱拆箱的转换。...自动装箱是指基本类型的值自动转换为对应的包装类型对象,如int Integer,Integer integer = 100,底层调用了Interger.valueOf(100)方法;而自动拆箱则是包装类型对象自动转换为基本类型的值...(); //int String 转换 //intString: 1)使用String的ValueOf方法 2)直接使用 String类+ (即字符串拼接),任意字符串其他类型"

6.8K11

Groovy as关键字性能测试

在Groovy中,as关键字用于一个对象转换为指定类型的对象。例如,可以使用as关键字一个字符串转换为整数,或一个Map转换为JSON字符串。...as关键字还可以用于类型推断,即根据上下文推断出对象的类型。例如,在Groovy中,可以使用def关键字定义一个变量,然后根据赋值语句自动推断出变量类型。...as关键字的用途有以下几点: 类型转换:as关键字可以一个对象转换为指定类型的对象,方便程序员进行类型转换操作。...类型推断:as关键字可以根据上下文推断出对象的类型,简化了变量定义类型转换的代码。...继承多态:as关键字可以用于继承多态的场景,比如一个子类对象转换为父类对象或一个接口对象转换为实现类对象。

16220

Java 中的变量与数据类型

本期内容预告如下: 变量 数据类型 变量作用域 常量 本文主要从以上四个方面出发,带领大家来看一下 Java 中的变量和数据类型变量 什么是变量?...Java 编译器中,对于字符串其他数据类型之间,可以使用 + 进行连接,编译器会自动将其他数据类型自动转换为字符串,然后再进行连接; String 既然是不可变,那有什么优点呢?...对于基本数据类型,不同类型之间是可以相互转换的,但是需要满足一定的条件; 从小到大自动,从大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接低精度的值赋给高精度的值即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险...b = a; // 高精度住低精度,由于 long 的范围比 int 大,所以需要强制 a = (int)b; 隐式转换(自动类型转换) 当满足如下条件时,如果一种类型的数据赋值给另一种数据类型变量

52130

变量与数据类型

所谓变量,就是用来命名一个数据的标识符,在 Java 中,变量可以分为两种: 基本类型变量 引用类型变量 // 基本类型变量 int id = 1; // 引用类型变量 String name...对于 Java 编译器有着特殊意义,用来表示一种数据类型,或者表示程序的结构等。此外,关键字不能用作变量名、方法名、类名、包名参数名。...Java 编译器中,对于字符串其他数据类型之间,可以使用 + 进行连接,编译器会自动将其他数据类型自动转换为字符串,然后再进行连接; String 既然是不可变,那有什么优点呢?...数据类型转换 对于基本数据类型,不同类型之间是可以相互转换的,但是需要满足一定的条件; 从小到大自动,从大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接低精度的值赋给高精度的值即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险

2.2K20

Java 之数据类型

基本数据类型换为其包装类还可以通过包装类的构造方法进行转换,例如int型整数129换为Integer类型: Integer num=new Integer(129) 各包装类所具有的xxxValue...将其他数据类型换为字符串 将其他数据类型换为字符串存在两种方法:调用类的toString()方法调用String类的valueOf()方法。 (1)调用类的toString()方法。...通过调用String类的valueOf()方法既可将包装类型数据转换为字符串,也可以基本数据类型或字面常数转换为字符串,另外,在转换其他引用类型对象时,等价于调用该对象toString()方法。...但在运行时抛出java.lang.ClassCastException异常,因为这个变量实际引用的是子类对象,两个子类属于不同的类型,也没有继承关系,所以不能将一个子类强制转换为另一个子类。...异常 对于引用类型中的数组引用类型,任何的两个不同类型的数组间不能进行类型的转换,但可以数组转换为java.lang.Object类。

96130

大数据技术之_16_Scala学习_02_变量

2.6 Scala 数据类型   1、Scala 与 Java 有着相同的数据类型,在 Scala 中数据类型都是对象,也就是说 Scala 没有 Java 中的原生类型   2、Scala 数据类型分为两大类...3、【Byte, Short】 Char之间不会相互自动转换。 尖叫提示:Byte 可以自动转换为 Short。   ...2.12.4 强制类型转换 介绍:   自动类型转换的逆过程,容量大的数据类型换为容量小的数据类型。使用时要加上强制函数,但可能造成精度降低或溢出,格外要注意。...2、强符号只针对于最近的操作数有效,往往会使用小括号提升优先级。   3、Char 类型可以保存 Int 类型的常量值,但不能保存 Int 类型变量值,非要保存的话,需要强。   ...2.14.2 基本数据类型 String 类型 语法: 基本类型的值+"" 即可 2.14.3 String 类型基本数据类型 语法:通过基本类型的 String 的 toXxx 方法即可 示例代码

1.2K40

带着问题高效学Android:关于Java与Kotlin泛型你应该知道的知识点

泛型类与泛型接口的定义 引入一个类型变量T(其他大写字母都可以,不过常用的就是T,E,K,V等等),并且用括起来,并放在类名的后面。泛型类是允许有多个类型变量的。...{} 请问PairPair是继承关系?...Java语言中的泛型则不一样,它只在程序源码中存在,在编译后的字节码文件中,就已经替换为原来的原生类型(Raw Type,也称为裸类型)了,并且在相应的地方插入了强制转型代码,因此,对于运行期的Java...一段Java代码编译成Class文件,然后再用字节码反编译工具进行反编译后,将会发现泛型都不见了,程序又变回了Java泛型出现之前的写法,泛型类型都变回了原生类型 public static String...所以不是在get方法里强的,是在你调用的地方强的 kotlin泛型 kotlin泛型中引入了inout Out (协变) 如果你的类是泛型作为内部方法的返回,那么可以用 out: interface

1.1K00

Pytorch中支持的tensor的数据类型及它们的相互转换

使用独立的函数import torchtensor = torch.randn(2, 2)print(tensor.type())# torch.long() tensor换为long类型long_tensor...= tensor.long()print(long_tensor.type())# torch.half()tensor换为半精度浮点类型half_tensor = tensor.half()print...()将该tensor换为double类型double_tensor = tensor.double()print(double_tensor.type())# torch.float()将该tensor...如果已经是正确的类型,则不会执行且返回原对象,用法如下:t1 = torch.LongTensor(3, 5)print(t1.type())# 转换为其他类型t2=t1.type(torch.FloatTensor...)print(t2.type())torch.LongTensortorch.FloatTensor使用type_as()函数这个函数的作用是将该tensor换为另一个tensor的type,可以同步完成转换

3.9K10

01 Java 数据类型变量

数据类型 在声明变量或常量时会用到数据类型,在前面已经用到一些数据类型,例如 int、double String 等。...取值范围的总结 数值类型相互转换 自动类型转换 自动类型转换就是需要类型之间转换是自动的,不需要采取其他手段,总的原则是小范围数据类型可以自动转换为大范围数据类型,列类型转换顺序如图所示,从左到右是自动...注意 如图所示,char 类型比较特殊,char 自动转换为 int、long、float double,但 byte short 不能自动转换为char,而且 char 也不能自动转换为 byte...一定要注意变量属于哪个类型和它的取值范围 强制类型转换(小能默认大,大转小要用强) 强可以取某个实数的整数部分(int a = (int)12.34) 成员变量 定义在类中,在整个类中都可以被访问...根据变量在程序声明的位置,可以变量分为4类情形。

88520

程序里的运算不止有加减乘除

类型转换下面说,这里混个脸熟先),要做的转换其实是这样 (float)(1),所以结果就是整数 1 转换为浮点类型,结果就是 1.0 除法 3 :(float)intTest1 / intTest2...int 类型占用32位空间,而byte只占用8位空间,电脑很傻,存不进去就乱存。 所以我们把类型转换分为两种,一种是小空间类型大空间类型,叫自动转换,甚至无需说明,自动。...类型转换 赋值方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:   (1)布尔型其它基本数据类型之间不能相互转换;   (2)byte型可以换为short、...int、、long、floatdouble;   (3)short可转换为int、long、floatdouble;   (4)char可转换为int、long、floatdouble;   (5...)int可转换为long、floatdouble;   (6)long可转换为floatdouble;   (7)float可转换为double; 强制类型转换 需要在前面用括号加类型说明,比如 (

68240

数据类型转换、运算符(基础篇三)

一、数据类型转换 变量定义赋值的时候, 值得在取值范围之内,自动转换. 如果超出了接收类型的范围, 需要强 1....表中每个文字都对应了一个数值,如下: 字符 数值 0 48 9 57 A 65 Z 90 a 97 z 122 这些只用记得几个就可以其他可以直接推断出来。 二、运算符 1....转换为int可能会有精度损失,编译报错 double c = a + b;//当运算的两个数据的数据类型不一致时,接收结果的变量数据类型与大的范围的数据类型保持一致 2....++、--运算符 独立运算:变量在独立运算时,前++后++没有区别,都是实现自动加1的功能 i++; ++i; 混合运算:其他变量放一起时就有区别。...int i3 =i1+i2; //i1+i2的运算结果赋值给变量i3 +=,-=,*=,/=,%= 运算符赋值符的结合使用。

1.2K10

2023级大一Java基础期末考试口试题题库——15题随机问3题。

byte short int long float double boolean char String是引用类型 4、请表达一下数据类型的相互转化什么时候用强,什么时候可以直接复制?...强(强制类型转换): 当你需要将一个基本数据类型换为对象类型或反之,或者一个数据类型与该类型的字面量兼容但实际上具有不同数据类型变量进行转换时,可以使用强。...这将把Integer对象的值转换为int类型。 直接赋值: 当你一个对象赋值给另一个相同类型的对象时,可以直接赋值。Java会自动执行类型转换,无需显式地进行强制类型转换。...在这种情况下,Java会自动Integer对象的值转换为int类型并存储在变量i中。 需要注意的是,当使用强时,需要确保转换的类型兼容且不会导致数据丢失或溢出。...此外,对于某些特定类型(如String),可以直接基本数据类型赋值给对应的字符串字面量变量(如int i = “42”;),Java会自动基本数据类型的值转换为对应的字符串表示形式并存储在字符串字面量变量

23210
领券