
13、java中8中基本类型
一、基本类型介绍关键字数据类型占用字节数取值范围默认值byte字节型1个字节-128~1270char字符型2个字节Unicode0~Unicode215-1\u0000short短整型2个字节-215~215-10int整型4个字节-231~231-10long长整型8个字节-263~263-10float单精度浮点数4个字节-2128~21280.0double双精度浮点数8个字节-...
2024-01-10
比较Java中的类类型
我想比较Java中的类类型。我以为我可以这样做:class MyObject_1 {}class MyObject_2 extends MyObject_1 {}public boolean function(MyObject_1 obj) { if(obj.getClass() == MyObject_2.class) System.out.println("true");}我想比较一下是否传递给函数的obj是从MyObject_1扩展而来的。但这是行不通的。似乎getClass()方法和.class...
2024-01-10
Java是否有自动类型推断功能?
autoJava中是否像C ++中一样有变量类型?一个例子:for ( auto var : object_array) std::cout << var << std::endl;for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do();我知道Java中有一个增强的for循环,但是有自动吗?如果不是,是否有这样做的技巧?我指的是C ++ 11中的新功能回答:在问题被 ...
2024-01-10
Java标记的联合/和类型
有什么方法可以在Java中定义求和类型?Java似乎自然地直接支持产品类型,我认为枚举可能允许它支持求和类型,而继承看起来也许可以做到,但是至少有一种情况我无法解决。详细地说,求和类型是可以恰好具有一组不同类型之一的类型,例如C中的标记联合。就我而言,我正在尝试在Java中实现haskell...
2024-01-10
在Java中实例化泛型类型
我想在Java中创建泛型类型的对象。请提出如何实现相同的建议。注意:这似乎是一个简单的泛型问题。但是我打赌..不是。:)假设我的类声明为:public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. }}回答:public class Abc<T> { public T getInstanceOfT(Class<T> aCla...
2024-01-10
如何获取值的类型(Java)
我在网上看到的解决方案很有意义;如果知道变量的类型,那么就知道其值的类型。Java就是这样。但是,如果我有这样的继承类系统…DynastyPQ (base class)FirstPQ (inherited class)并以这种方式创建对象…DynastyPQ pq = new FirstPQ();有没有一种方法可以获取FirstPQ 的 ,以便可以在强制转换中使用它,以便可以访...
2024-01-10
在Java中递增Char类型
在练习Java时,我随机想到了这一点:class test{ public static void main(String arg[]) { char x='A'; x=x+1; System.out.println(x); }}我以为会抛出错误,因为我们无法将数值添加1到A数学中的字母上,但是以下程序可以正确运行并打印B那怎么可能?回答:在Java中,char是数字类型。当添加1...
2024-01-10
Java类“无法解析为类型”
这是我得到的错误:Exception in thread "main" java.lang.Error: Unresolved compilation problem: TeamLeader cannot be resolved to a type at TeamLeadDemo.main(TeamLeadDemo.java:26)这是我的代码:import java.util.Scanner;public class Employee { public String empName,...
2024-01-10
Java-错误:返回类型不兼容
我正在学习Java。我试图运行代码,但出现此错误:return type is incompatible。它向我显示错误的代码部分。class A { public void eat() { }}class B extends A { public boolean eat() { }}为什么会这样呢?回答:这是因为在类中不能有两个具有相同名称但返回类型不同的方法。子类不能使用与返回类型不同的超类...
2024-01-10
在Java中使用嵌套的枚举类型
我想到的是一个涉及嵌套枚举的数据结构,因此我可以执行以下操作:Drink.COFFEE.getGroupName();Drink.COFFEE.COLUMBIAN.getLabel();如果有方法声明:someMethod(Drink type)someOtherMethod(DrinkTypeInterface type)然后我可以说(适当):someMethod(Drink.COFFEE)someOtherMethod(Drink.COFFEE.COLUMBIAN)这是我想出的:public enum ...
2024-01-10
Java如何使方法返回类型通用?
考虑以下示例(OOP书籍中的典型示例):我有一Animal堂课,每个人Animal可以有很多朋友。和子类喜欢Dog,Duck,Mouse等里面加如特定行为bark(),quack()等等。这是Animal课程:public class Animal { private Map<String,Animal> friends = new HashMap<>(); public void addFriend(String name, Animal animal){ friends.put...
2024-01-10
用Java中的不同返回类型重载?
为什么仅通过更改返回类型就不可能重载函数?将来的Java版本会改变吗?顺便说一句,仅供参考,这在C ++中可能吗?回答:你无法在Java中做到这一点,也无法在C ++中做到这一点。基本原理是,仅返回值不足以使编译器确定要调用的函数:public int foo() {...}public float foo() {..}...foo(); // which one?...
2024-01-10
Java中的迭代器类型(弱一致)
我了解故障快速(LinkedList)和故障安全(copyonwrite)迭代器,但是弱一致性仍然是个谜。文档说它可能反映了基础馆藏的变化,但不能保证。因此,我认为弱一致性不会创建后备集合的副本。(在并发Map中,它可在同一bucketarray上运行)。我假设线程A创建了一个迭代器并进行了一半,当线程B将一个项...
2024-01-10
在Java中创建泛型类型的实例?
是否可以在Java中创建泛型类型的实例?我正在根据我所看到的答案进行思考no(由于类型擦除),但是如果有人能看到我所缺少的内容,我将很感兴趣:class SomeContainer<E>{ E createContents() { return what??? }}编辑:事实证明,超级类型令牌可以用于解决我的问题,但是它需要很多基于反射的...
2024-01-10
“ [B””是哪种Java类型?
我正在尝试通过Java代码(hibernate)从MySQL DB获得MD5加密的通行证。但是我既不能得到String也不能得到任何合理的Java类型。我得到的唯一消息是此无用的消息: (或我尝试转换为的任何Java类型)。这是我的方法:public void testCrypto() { session.beginTransaction(); // creates native SQL query // uses na...
2024-01-10
Java方法重载并选择最特定的类型
示例代码为: public class OverloadingTest { public static void test(Object obj){ System.out.println("Object called"); } public static void test(String obj){ System.out.println("String called"); } public static...
2024-01-10
Java:如何从泛型类型获取类文字?
通常,我见过人们像这样使用类文字:Class<Foo> cls = Foo.class;但是,如果类型是通用类型,例如List,该怎么办?这可以正常工作,但由于应将List参数化,因此发出警告:Class<List> cls = List.class那么为什么不添加一个<?>呢?好吧,这会导致类型不匹配错误:Class<List<?>> cls = List.class我想像这样的事情会...
2024-01-10
无法在意外地方推断类型(可能是Javac错误?)
我正在尝试执行新的JDK 8函数式编程领域中似乎是相对基本的事情,但是我无法使其工作。我有这个工作代码:import java.util.*;import java.util.concurrent.*;import java.util.stream.*;public class so1 { public static void main() { List<Number> l = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Callabl...
2024-01-10
Java重写方法的返回类型可以不同吗?
重写的方法可以有不同的返回类型吗?回答:Java支持*协变返回类型的重写方法。这意味着重写的方法可能具有更特定的返回类型。也就是说,只要新的返回类型可分配给你要覆盖的方法的返回类型,就可以使用。例如:class ShapeBuilder { ... public Shape build() { ....}class CircleBuilder extends ShapeBuild...
2024-01-10
Java如何通过引用传递原始数据类型?
如何在Java中通过引用传递基本类型?例如,如何使int传递给方法的值可修改?回答:在Java中,没有一种方法可以通过引用直接传递基元。一种解决方法是改为将引用传递给包装类的实例,该实例然后将原语包含为成员字段。这样的包装器类可能非常容易为自己编写:public class IntRef { public int value; }...
2024-01-10
如何引用接口在Java中实现的类类型?
我在编写的程序中遇到接口问题。我想创建一个接口,该接口的方法之一可以接收/返回对自己对象类型的引用。就像这样:public interface I { ? getSelf();}public class A implements I { A getSelf() { return this; }}public class B implements I { B getSelf() { return this; }}我不能在“?”处使用“I”...
2024-01-10
人们为什么仍然在Java中使用原始类型?
从Java 5开始,我们已经对原始类型进行装箱/拆箱,因此将int其包装为java.lang.Integer,依此类推。我最近看到许多新的Java项目(肯定要求JRE的版本至少为5,如果不是6的话)正在使用int而不是java.lang.Integer,尽管使用后者要方便得多,因为它具有一些用于转换的辅助方法到long的值等。为什么有些人仍然...
2024-01-10
在Java中,类内的枚举类型是静态的吗?
我似乎无法像从内部类内部那样从枚举内部访问周围类的实例成员。这是否意味着枚举是静态的?是否可以访问周围类的实例的范围,还是必须在需要的地方将实例传递给枚举的方法?public class Universe { public final int theAnswer; public enum Planet { // ... EARTH(...); // ... // ... construc...
2024-01-10
从Class对象中指定Java中的泛型类型
为什么这是错误的: Class<? extends Number> type = Integer.class; ArrayList<type> = new ArrayList<>();?给定一个类对象,没有办法实例化特定类型的类吗?显然,我永远不会直接这样做,这只是显示所需内容的一个示例。在实际的代码中,我需要不知道类型的名称。例如 public void createAList(Class<? extends Number>...
2024-01-10
Java如何将超类型列表转换为子类型列表?
例如,假设你有两个类:public class TestA {}public class TestB extends TestA{}我有一个返回a的方法,List并且我想将列表中的所有对象都强制转换为,TestB以便最终得到a List<TestB>回答:简单地铸造List<TestB>几乎可行;但这是行不通的,因为你不能将一个参数的泛型类型转换为另一个参数。但是,你可以强制转...
2024-01-10
