如何从Java API声明本地项目已弃用的方法?

小牛

我正在尝试向我的类(CustomList扩展为)添加功能JList现在,CustomList的所有当前用法都setModel(Listmodel<E> lm)从中调用了不可重写的方法JList我被困在Java的旧版本Java 1.6上,由于擦除问题,该版本不允许我直接重写此方法。我所有的研究得出的结论是,我必须重命名此方法,并用新命名的方法替换当前的所有用法。

我想做的是警告与之共事的其他人CustomList,他们需要调用此方法而不是JList.setModel(ListModel<E> lm)我不确定如何为我的项目在本地弃用本机方法。

下面是一个概述我的新方法的简单示例:

public class CustomList<E> extends JList {
    private ArrayList list;
    public void newSetModel (ListModel<E> lm){
        super.setModel(lm);
        list = new ArrayList<Boolean> (lm.getSize());
    }   
}

请注意,由于无法使用Java 1.6,因此不能简单地使扩展中的JList通用以允许覆盖

肖恩·帕特里克·弗洛伊德(Sean Patrick Floyd)

用Java没有做到这一点的明智方法。

理想情况下,您具有构建/配置流程,并且可以使用工具来执行策略。看一下Checkstyle和PMD,也许其中之一可以让您将特定方法调用列入黑名单。

否则,您可以使用诸如asm或Aspectj之类的低级技术来编写自己的支票,但这并不容易。或者,您可以放学一些,写一个测试来分析源文件并查找错误的方法调用,但这很容易出错。

我想说,最好的办法是让其他团队成员知道。你们进行代码审查吗?你应该。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Java方法声明或标记为已弃用?

我们如何找到Node JS项目中当前已弃用的方法的列表?

Java使用或覆盖已弃用的API错误

MainActivity.java:使用或覆盖已弃用的 API

Criteria API已弃用,如何转换为CriteriaQuery?

如何解决Android中已弃用的View方法?

Java:如何避免派生接口中的已弃用警告覆盖已弃用的成员?

如何在 Java 中使用已弃用的导入?

如何解决弃用警告“方法to_hash已弃用,并将在Rails 5.1中删除”

Gremlin Java 3.4 withRemote已弃用

Java继续标签已弃用?

修复 Java newInstance() 已弃用

查找 Java 文档已弃用的消息

如何禁止警告“ gets()已弃用”?

如何修复已弃用的“ buttonstyle”

如何替换已弃用的控件 HorizontalDivider?

如何修复 JaCoCo reportDir 已弃用

已弃用的 Short(String) 如何更新?

具有mongoDB副本集'MongoClient'的Java API已弃用

如何抑制有关已弃用api的javac警告?

Android振动已弃用。如何在Android> = API 26中使用VibrationEffect?

Google feed api已弃用,如何找到该网站的RSS feed?

Spark DataFrame 已弃用的 java.sql.Date 的替代方法

OnActivityResult 方法已弃用,如何使用菜单的 onOptionItemselected 中的 registerForActivityResult

用Java声明项目常量的正确方法是什么?

onActivityResult 已弃用,如何处理 android(Java) 片段中的谷歌登录?

getBitmap弃用API的Java 29的android

请帮助我 CloudFirestorePlugin.java 使用或覆盖已弃用的 API。(未经检查或不安全的操作。)

如何在Delphi中弃用数组类型声明?