这是一个界面:

public interface Foo extends Comparable> {

...

}

并且有一些类实现此接口:

public class Bar extends Something implements Foo {

public Vector> giveBar() {

...

}

}

public class Boo extends SomethingElse implements Foo {

public Vector> giveBoo() {

...

}

}

现在我想在矢量中保留一堆Foos(可能真的是Foos或Boos).

Bar bar = new Bar();

Boo boo = new Boo();

Vector> vector;

if (...)

vector = bar.giveBar();

else

vector = boo.giveBoo();

我明白了:

Type mismatch: cannot convert from Vector> to Vector>

同样适用于:

Vector vector;

if (...)

vector = giveBar();

else

vector = giveBoo();

是Bar和Boo的超类是否能解决这个问题的唯一解决方案?

解决方法:

所有代码归结为:

Vector vector = new Vector();

在这种情况下,B扩展了A,但这是不允许的,因为类型不匹配.要弄清楚为什么这不起作用,请想象以下代码:

Vector> vector = new Vector>();

vector.add(new Vector());

变量的类型是未知类型的向量的向量;分配给它的是一个字符串向量的向量.第二行添加一个整数向量.变量Vector的组件类型,它接受Vector< Integer&gt ;;但实际矢量的组件类型是Vector< String&gt ;,但它没有.如果编译器没有反对第一行的赋值,它将允许您编写不正确的第二行而不被发现.

C#的泛型具有类似的限制,但区别在于C#中的泛型类存储它的组件类型,而Java在编译代码时会忘记组件类型.

ps – 为什么你在使用Vector而不是LinkedList或ArrayList?是因为涉及线程问题吗?

标签:mismatch,java,types,generics

来源: https://codeday.me/bug/20190726/1548559.html

类型不匹配 java_java – 与泛型类型不匹配相关推荐

  1. 判断括号匹配的程序java_java判断左右括号匹配

    java判断左右括号匹配 [2021-02-10 16:36:55]  简介: Java进行正则表达式匹配的方法:首先打开eclipse软件:然后运用d来进行数字的匹配,如果字符串中遇到了空白字符的话 ...

  2. c语言括号匹配的检验,检验括号匹配的算法

    用栈实现检验括号匹配的算法没啥具体描述,数据结构的知识,急用,有重赏 思想是 先进栈,获取第一个半边括号,标记一下,继续进栈直到获取到第二个与之匹配的另一外括号,然后出栈,取出内容.就这样.. 数据结 ...

  3. logstash判断是否匹配_logstash 中的贪婪匹配

    logstash 中的贪婪匹配: 10.252.142.174 - - [06/Sep/2016:08:41:36 +0800] "GET /api/validate/code/send?m ...

  4. php正则匹配实验报告,php正则匹配的相关知识总结

    一.php正则简介 PHP中有两套正则匹配规则,一套基于POSIX,一套基于PCRE(英文全称:Perl Compatible Regular Expressions:翻译后就是"perl兼 ...

  5. 《OpenCV3编程入门》学习笔记9 直方图与匹配(五)模板匹配

    9.5 模板匹配 基本思想:   在一幅图像中寻找与另一幅模板图像最匹配的部分,通过在输入图像上滑动图像块,对实际的图像块和输入图像进行匹配. 9.5.1 模板匹配:matchTemplate()函数 ...

  6. java中正则全局匹配_JS中正则表达式全局匹配模式/g用法实例

    JS中正则表达式全局匹配模式 /g用法详解 本文章来详细介绍js中正则表达式的全局匹配模式 /g用法, var str = "123#abc"; var re = /abc/ig; ...

  7. Algorithm:C++语言实现之链表相关算法(单链公共结点问题、一般LCA、括号匹配、最长括号匹配、逆波兰表达式Reverse Polish Notation、直方图矩形面积、收集雨水问题)

    Algorithm:C++语言实现之链表相关算法(单链公共结点问题.一般LCA.括号匹配.最长括号匹配.逆波兰表达式Reverse Polish Notation.直方图矩形面积.收集雨水问题) 目录 ...

  8. error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug...

    属性1. 在工程上右键->属性->c/c++->代码生成->运行库 四个选项及含义分别如下: 1.1 /MDd:MD_DynamicDebug,我理解是 "共享DLL ...

  9. excel匹配_Excel中的数据匹配和查找

    在Excel中,提供了多个可以用来进行数据匹配和查找的函数:HLOOKUP.INDEX.LOOKUP.MATCH和VLOOKUP等.其中使用最广的就是VLOOKUP,这篇文章就从VLOOKUP开始,介 ...

最新文章

  1. 如何估算深度神经网络的最优学习率
  2. laravel conf/app.php
  3. TensorFlow预训练模型在新图中权重部分加载
  4. CISCO ASA 5510 防火墙的配置实例
  5. 动视服务器状态,《使命召唤12》A.B.C服务器错误不用怕 动视给你支招
  6. golang 之 import 和 package 的使用
  7. Scikit-Learn之利用高斯过程回归
  8. 社交网络的数据挖掘与分析,什么是社交网络分析
  9. @开源镜像站(linux系统:Center OS|Ubuntu|Debian)
  10. 央视财经采访:康晓阳投资分享
  11. js的延迟执行 async defer/ js的数据类型全/ null和undefined区别/=、==、===的区别/js中的宏任务和微任务js的作用域附带试题有答案
  12. Unity3D移动平台简单实现
  13. 关于ubuntu上,usb设备编号
  14. MAC 如何强制关闭程序
  15. ACL最近三年论文整理(word embedding专题)
  16. CentOS7.6(1810)安装
  17. echarts-箱线图(盒须图)
  18. Python - 列联表的独立性检验(卡方检验)
  19. 搜狐首页出现一个硕大的错别字
  20. PC客户端软件的安装和卸载测试知识点

热门文章

  1. JAVA 即时网络通信我的服务器
  2. 自定义 Web 服务器控件
  3. ubuntu sun-java-jdk(zhuan)
  4. qt project settings被禁用解决方案
  5. 【白皮书分享】2022年中国品质直播选型与应用白皮书.pdf(附下载链接)
  6. 【白皮书分享】2020全球数字治理白皮书.pdf(附下载链接)
  7. ubuntu下修改用户的默认目录
  8. makefile:5: *** missing separator. Stop.
  9. 大神干货:算法高手郭大顶级经验分享助你轻松通过初赛!
  10. 机器学习算法总结之聚类:K-means