Android кастване на променливи

Принципно тази тема не е в частност само за Android платформата, тя е основна за Java като език за програмиране. Въпреки това считам, че следващите няколко реда код ще бъдат много полезни за всеки Android програмист, който не само разработва приложения, но и държи същите да използват по-малко ресурси от тяхното мобилно устройство.
Може би на всеки Java програмист се е случвало, всичко в кода му да изглежда наред, а при компилацията приложението да не се стартира (“гърми”) давайки някаква грешка. В много от случайте, това може би се дължи на неправилно кастване (превръщане на данните от един тип в друг). Съществуват каствания само между примитивни типове данни (byte,short,int,float), само между обекти (String, View и т.н.) и такива между премитивни типове данни и обекти.
Ще Ви покажа няколко от по-често използваните варианти на cast като искам да отбележа, че съществуват и много други.

1. Кастване от int към byte

int iNum = 123;

byte num = (byte) iNum;

2. Кастване от byte към int

byte num = 127;
int iNum= (int)num & 0xff;

3. Кастване от int към float

int xNum = 5;

int yNum = 9;

float xy  = (float) x/y;

4. Кастване от float към  int

float fNum = “23.50”;

int iNum = (intMath.round(fNum);

5. Кастване от String към int

String str = “100”;

int iNum = Integer.parseInt(str);

6. Кастване от String към byte

String str = “100”;

byte num = (byte) Integer.parseInt(str);

7. Кастване от String към float

String str = “120.56”;

float fNum = Float.valueOf(str);

8. Кастване от Ваш Обект към String

Ако Вашия обект няма правилното представяне като String е необходимо метода toString(), който е метод на Object обекта,  да бъде предефиниран (Override) в класа на Вашия обект. Пример:

Нека имаме собствен клас Person изглеждащ така –

public class Person{

private firstName = “Иван”;

private lastName = “Иванов”;

@Override

toString(){

return (“Човека се казва “+this.firstName+” “+this.lastName());

}

}

Сега вече във Вашия код може да се използва  –

Person pr= new Person();

String prName = pr.toString();

 9.  Кастване от един Обект към друг Обект

View mybutton = viewFindViewById(R.id.mybutton);

Button bt = (Button) mybutton;

Забележка: Кастване от един обект към друг обект не във всички случаи е възможно.

Leave a Reply

Your email address will not be published. Required fields are marked *