我有一个为 instanceof
对象使用开关盒的问题:
例如:我的问题可以用 Java 重现:
if(this instanceof A)
doA();
else if(this instanceof B)
doB();
else if(this instanceof C)
doC():
如何使用 switch...case
来实现?
原文由 olidev 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个为 instanceof
对象使用开关盒的问题:
例如:我的问题可以用 Java 重现:
if(this instanceof A)
doA();
else if(this instanceof B)
doB();
else if(this instanceof C)
doC():
如何使用 switch...case
来实现?
原文由 olidev 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这是子类型多态性有帮助的典型场景。请执行下列操作
然后你可以简单地在 ---
do()
this
。如果您不能随意更改
A
、B
和C
,您可以应用访问者模式来实现相同的效果。