1

フライト番号とゲート番号を含む Java オブジェクトのリストがあります。

public class Flight {
  public String flightNumber;
  public String gateNumber;
}

この質問の目的のために、私のリストには、次のフライト番号とゲート番号を持つオブジェクトが含まれています。

"AA123"  "10"
"BB789"  "11"
"BB124"  "10"
"AA456"  "12"

ゲート 10 ですべてのオブジェクトを選択したい場合は、次の JXPath 式を使用できます (これは機能します)。

.[gateNumber = "10"]

私がする必要があるのは、「AA」で始まるフライト番号を持つすべてのオブジェクトをゲート 10 で選択することです。

次のことを試しましたが、どれも機能しません。

.[gateNumber = "10" and flightNumber.startsWith("AA")]
.[gateNumber = "10" and flightNumber.substring(0, 2) = "AA"]
.[gateNumber = "10" and substring(flightNumber, 0, 2) = "AA"]
.[gateNumber = "10" and substring($flightNumber, 0, 2) = "AA"]

私の JXPath 式はどうあるべきですか? カスタム拡張機能を書かなくても可能ですか?

4

1 に答える 1

1

ネイティブ JXPath を使用する方法が見つからなかったため、最初の文字列パラメーターの内容が 2 番目の文字列パラメーターの内容で始まる場合に true を返す拡張機能を最終的に開発する必要がありました。

.[gateNumber = "10" and utils:startsWith(flightNumber, "AA")]

編集

試したことはありませんが、JXPath はstarts-with()XPath の機能をサポートしているようです。

于 2015-08-07T02:15:37.903 に答える