Como voce pode testar se duas matrizes (arrays) são iguais ?

ColdFusion não oferece uma maneira fácil de comparar duas matrizes (arrays) de única dimensão . A solução mais comum é envolvendo loop através de uma matriz e comparando cada item com os itens da segunda matriz. É uma solução complexa e confusa.

Realmente há uma maneira muito simples de comparar duas matrizes usando java com CF. Segundo um blog recente de Rupesh Kumar, da Adobe, matrizes ColdFusion são uma implementação de listas de java (java.util.List). Assim, todos os métodos lista de Java estão disponíveis para matrizes CF.

Assim, para comparar 2 matrizes, tudo que você precisa fazer é usar o método equals. Ele retorna um YES, se as matrizes forem iguais e NO caso contrário.

Por exemplo, dadas as matrizes:

<cfset array1 = listToArray("tom,dick,harry,phred")/>
<cfset array2 = listToArray("dick,harry,phred") />
<cfset array3 = listToArray("tom,dick,harry,phred")/>

To test for equality:

<cfoutput>
Array2 equals Array1 #array2.equals(array1)# (returns a NO) <br/>
Array3 equals Array1 #array3.equals(array1)# (returns a YES) <br/>
</cfoutput>

by Larry C. Lyons

Leave a comment