【发布时间】:2013-06-08 23:50:26
【问题描述】:
我有这个问题,我的代码中有几个部分,我检查是否满足这些特定条件,以便我可以了解我正在检查的内容是一种类型还是另一种类型。这最终会变大 if else 树,因为我要进行大量检查,每种方法都进行相同的检查,并且我要检查的东西可能有几种不同的类型。我知道这可以使用对象来解决! 具体来说,我要检查的是文件中的 4 个字符串值。基于这些字符串值,4 个字符串一起可以构成 3 种类型之一。我不是每次需要获取 4 个字符串组成的类型时都进行这些相同的检查,而是想知道是否可以在给定这 4 个字符串的情况下创建一个通用对象,然后确定该对象是否是特定类 1、2、或 3. 然后我就可以将该通用对象转换为特定对象。
假设我将 4 个字符串创建的通用对象命名为 Sign。我会使用这 4 个字符串并创建一个新的 Sign 对象:
Sign unkownType = new Sign(string1, string2, string3, string4);
我需要检查这个标志是哪种特定类型的标志。
编辑: 有关更多详细信息,我正在检查的标志不是“+”或“-”之类的符号,它们是带有文字的标志,就像您在路上看到的那样。每个标志上有 4 行,需要检查它们以查看每行的计算结果是否与特定类型的标志匹配。 SignType1 的第一行与 SignType2 的第一行不同,我想将这 4 行(字符串)传递给一个对象,并在我的代码中使用该对象从中获取值,而不是制作相同的值检查每种方法。 如果你想让我展示一些代码,我可以,但它没有多大意义。
【问题讨论】:
-
这太抽象了,无法给出一个好的答案。能举个具体的例子吗?
标签: java class oop object instanceof