Pradeep
Pradeep

Reputation: 1

Flex DataType Conversion

I have a very simple question regarding the type conversion in flex.

What is the difference between these two conversions.

1) var arrCol:ArrayCollection = new ArrayCollection(event.result.dataset.table);

2) var arrCol:ArrayCollection = event.result.dataset.table as ArrayCollection;

I have seen that the second conversion works better(more number of times) than the first one.

Upvotes: 0

Views: 252

Answers (2)

Constantiner
Constantiner

Reputation: 14221

I think the term "conversion" isn't correct. In your code snippets there are present instantiating and casting.

The case 1) is instantiating (creating of new instance of class). To determine it take a look at new keyword. And the parameter is Array instance according to ArrayCollection's constructor documentation.

The case 2) is casting. In your case event.result.dataset.table should be an ArrayCollection. Otherwise the value of arrCol will be null. Another form of casting is:

var arrCol:ArrayCollection = ArrayCollection (event.result.dataset.table);

In this case if event.result.dataset.table isn't an ArrayCollection there will be runtime exception. Because of Array and ArrayCollection are incompatible types and can't cast them to each other.

Upvotes: 5

VlTr
VlTr

Reputation: 55

event.result.dataset.table as ArrayCollection is more readable and faster to write. But I remember some situation where flex threw an error when object was converted this way.

Upvotes: 0

Related Questions