我正在尝试将排序列表实现为Java中的简单练习.为了使它具有通用性我有一个add(Comparable obj)所以我可以在任何实现Comparable接口的类中使用它.
但是,当我obj.compareTo(...)在代码中的任何地方使用时,我"unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable"从编译器(带-Xlint:unchecked选项)获得.代码工作正常,但我无法弄清楚如何摆脱这个恼人的消息.
任何提示?
我正在开发一个 c++ 应用程序,但我面临一个问题:我有一个从抽象类 A 派生的类 B,它具有一些事件处理方法。第三个类 C 派生自 B,并且必须重新实现一些 B 方法。有没有办法在调用 C 的方法之前隐式调用 B 的方法?
类图:
class A
{
virtual void OnKeyPress(event e)=0;
};
class B : public A
{
virtual void OnKeyPress(event e)
{
print("Keypressed: "+e)
};
};
class C : public B
{
void OnKeyPress(event e)
{
//DoSomething
}
}
Run Code Online (Sandbox Code Playgroud)
我想出的解决方法之一是使用 C::foo() 中的 B::foo() 从 C 调用父方法。这是可行的,但开发人员需要记住在方法的主体中添加调用。
另一种方法是定义一个新的虚拟方法,子进程将覆盖该方法,父进程将在其“OnKeyPress”方法中调用该方法。
谢谢,3mpty。
我有一个txt文件目录可以插入到另一个文件中.但我需要在每个文件的内容之前加上一个标题.具体来说,我想做这样的事情:
---------------- <FILENAME> ----------------
content
---------------- <FILENAME2> ---------------
content
Run Code Online (Sandbox Code Playgroud)
实际上我不需要文件名之前和之后的所有"------------",但它会很好.
感谢您的时间 ;)
bash ×1
c++ ×1
cat ×1
comparable ×1
generics ×1
inheritance ×1
java ×1
oop ×1
shell ×1
unchecked ×1