簡體   English   中英

Java中的字符串命名約定

[英]String naming convention in java

我目前正在嘗試制定命名約定。 這背后的想法是解析。 可以說我獲得了一個xml文檔。 一切都可以使用一次,但是下面的代碼中的這兩個可以在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個收貨類型。

但是現在我想在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適合任何可以在命名約定等方面幫助或提供小技巧的人。謝謝!

您事先不知道會得到多少個ItemNumbers和ReceiptType? 也許考慮使用兩個列表( 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM