java中的字符串命名约定

时间:2014-08-08 16:37:36

标签: java eclipse string

我目前正在尝试制定命名惯例。这背后的想法是解析。 让我们说我获得了一个xml doc。一切都可以使用一次,但下面的代码中的这2个可以在xml文档中多次提交。它可以是1,或简称为100。 这表明将抓取第一个元素的ItemNumber和ReceiptType。

ItemNumber1 = eElement.getElementsByTagName("ItemNumber").item(0).getTextContent();
ReceiptType1 = eElement.getElementsByTagName("ReceiptType").item(0).getTextContent();

这个说明,如果他们两次提交,它将获得第二次提交。

ItemNumber2 = eElement.getElementsByTagName("ItemNumber").item(1).getTextContent();
ReceiptType2 = eElement.getElementsByTagName("ReceiptType").item(1).getTextContent();

ItemNumber和ReceiptType必须一起提交。因此,如果有30个ItemNumbers,则必须有30个Receipt Types。

但是现在我想在IF语句中设置它来创建变量。 我正在思考以下几点:

int cnt = 2;
if (eElement.getElementsByTagName("ItemNumber").item(cnt).getTextContent();)
**MAKE VARIABLE**

然后创建一个循环,添加一个计数以查看它们是第三个还是第四个。现在这里有棘手的部分..我需要将它们设置为生成的变量。示例如果ItemNumber 2存在,则将其设置为

String ItemNumber2 = eElement.getElementsByTagName("ItemNumber").item(cnt).getTextContent();

我不希望制作预先制作的变量名,因为我不想编写可能的1000个变量,如果1000个变量发生的话。

KUDOS适用于任何可以提供帮助的人,或者在命名约定等方面提供有关此部分内容的提示。谢谢!

1 个答案:

答案 0 :(得分:0)

您事先不知道您将获得多少ItemNumbers和ReceiptTypes?也许考虑使用两个列表(java.util.List)。这是一个例子。

boolean finished = ... ; // true if there is no more item to process 

        List<String> listItemNumbers = new ArrayList<>();
        List<String> listReceiptTypes = new ArrayList<>();

        int cnt = 0;

        while(!finished) {
            String itemNumber = eElement.getElementsByTagName("ItemNumber").item(cnt).getTextContent();
            String receiptType = eElement.getElementsByTagName("ReceiptType").item(cnt).getTextContent();

            listItemNumbers.add(itemNumber);
            listReceiptTypes.add(receiptType);

            ++cnt;

            // update 'finished' (to test if there are remaining itemNumbers to process)
        }

        // use them :

        int indexYouNeed = 32; // for example

        String itemNumber = listItemNumbers.get(indexYouNeed); // index start from 0
        String receiptType = listReceiptTypes.get(indexYouNeed);