簡體   English   中英

索引 position 了解,java

[英]Index position understanding, java

我很難理解這段代碼中發生了什么,我知道 Java 只有正索引。

我試圖理解的例子。

            if ((Input.length() > 2) &&
                (Input.substring(1, Input.length() -2).contains(substring))) {
                System.out.print("Middle");

上面的代碼在做什么?

Java 中沒有負索引。

讓我們以您的示例代碼為例。 我已經對代碼進行了格式化,以便更容易看到正在發生的事情。

if ((Input.length() > 2) &&
       (Input.substring(1, Input.length() - 2).contains(substring))) {
                System.out.print("Middle");
}

字段輸入應為小寫(輸入)。

if 表示輸入的字符串長度是否 > 2,並且 substring 從 position 1 到 position 長度,其中長度是字符串的長度減去 2。

因此,如果字符串是 5 個字符(例如),它將比 2 長,並且 substring 將是位置 1 和 2 的字符。5 減去 2 的長度給出 3。因為 3 是 substring 的結束索引,我們在 position 2 處停止 substring。

使用“ABCDE”的示例String,長度大於2,待測(包含)的substring為“BC”。 字符串仍然是“ABCDE”。

帶括號的 substring 是一個 String 方法。 contains 方法中的 substring 是一個包含 String 值的字段。 盡管它們具有相同的名稱,但它們是兩個不同的概念。

暫無
暫無

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

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