導航:首頁 > 編程語言 > java強制轉換數組

java強制轉換數組

發布時間:2022-08-11 20:39:52

『壹』 java中如何將一個數據類型強制轉換城數組定義的類型

String s = "XXXXX";
String[] str = new String[1]
str[0] = s;

你就把String看成String[]的組成的一個單位就可以了

『貳』 java中 我想把集合轉化為數組


List<String>list=newArrayList<String>();
list.add("aa");
list.add("bb");

String[]targetArr=newString[list.size()];
list.toArray(targetArr);
for(Strings:targetArr){
System.out.println(s);
}

推薦上面這樣寫。要是按你那這樣寫的話,轉完是Object[] arr,如果這個時候你把它強制轉為String[] 類型會報錯。

『叄』 java中怎樣將一個double型數組轉化成int型數組

1、可以藉助強制類型轉換及循環來完成轉化。比如double型數組darray轉換為int型數組iarray的代碼如下:

double[]darray=newdouble[10];//darray數組聲明
//...//darray數組初始化省略
intiarray=newint[darray.length];//聲明int數組iarray,長度同darray的長度
for(inti=0;i<darray.length;i++){
iarray[i]=(int)darray[i];//位置1
}

2、先生成一個double的外覆型Double,再用Double的intValue()得到int,這里代碼部分大部分相同,只需將位置1的代碼改為

iarray[i]=(newDouble(darray[i])).intValue();

3、當然也可以先將double型數據先轉換為String類型,然後再轉換為int類型,如位置1代碼修改如下:

Strings1=String.valueOf(darray[i]);	
Strings2=s1.substring(0,s1.indexOf("."));
iarray[i]=Integer.parseInt(s2);

『肆』 java中數組能進行隱藏和強制轉換嗎舉例

一般情況下是可以的

但是特殊情況是絕對不行的

比如基礎類型的數組到對象數組的轉換

int[]a=newint[128];
Integer[]b=(Integer[])a;//這絕對會報錯,數組不在自動拆裝箱操作內
a=(int[])b;//同也會報錯

Integer[]c=newInteger[4];
Object[]objs=(Object[])c;//這不會報錯

當然,所有的數組類型也都可以被轉換為Object類型,注意不是所有的都可以轉換為Object[]數組

『伍』 java 轉換 數組

命令行字元串就是main函數中的argv數組
轉換方法:你可以先創建一個和argv數組相同長度的整數數組,依次轉換字元串後存入

『陸』 java裡面數組之間的強制轉換

你這么寫不就等於把Student[]強轉成Object[],編譯肯定不過啊。
你可以試試 Student[] stu = list.toArray(stu);

『柒』 java 中如何實現,將數組中的元素實現強制轉化,除過用for循環將元素取出,然後強制轉化,

什麼叫「除過用for循環將元素取出」,這句話看不到,你是要用for循環嗎?
定義數組時 ,已經規定了數組的長度和數據類型,而且數組時引用類型

int[] array={0,1,2,3,4,5}; //原數組
String[] str=new String[5]; //如果需要改成String類型的數組
for(int i=0;i<5;i++){
str[i]=str[i].valueOf(array[i]); //int類型無法直接強制類型轉換成String,所以
str[i]=(String)array[i]是不行的,valueof()可以將char, double ,int都轉換為String類型
System.out.println(str[i]+"\t");
}
我不清楚你的問題到底是什麼,只能這樣寫了!

『捌』 java 怎麼把list轉換成數組

ArrayList<String> list=new ArrayList<String>();
String strings[]=(String [])list.toArray();
這樣寫代碼個人覺得應該沒什麼問題,編譯也沒有問題。可是具體運行的時候報異常,如下:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
但是這么寫是沒有問題的:
ArrayList<String> list=new ArrayList<String>();
String strings[]=new String[list.size()];
for(int i=0,j=list.size();i<j;i++){
strings[i]=list.get(i);
}
對於這個現象我們可以這么解釋:Java中允許向上和向下轉型,但是這個轉型是否成功是根據Java虛擬機中這個對象的類型來實現的。Java虛擬機中保存了每個對象的類型。而數組也是一個對象。數組的類型是[Ljava.lang.Object。把[Ljava.lang.Object轉換成[Ljava.lang.String是顯然不可能的事情,因為這里是一個向下轉型,而虛擬機只保存了這是一個Object的數組,不能保證數組中的元素是String的,所以這個轉型不能成功。數組裡面的元素只是元素的引用,不是存儲的具體元素,所以數組中元素的類型還是保存在Java虛擬機中的。
根據上面的解釋,我們可以把這個問題歸納到下面這個模型:
Object objs[]=new Object[10];
String strs[]=(String[])objs;
這樣子和剛才上面編譯錯誤是一樣的。如果我們修改一下這個代碼,如下:
String strs[]=new String[10];
Object objs[]=strs;
這樣子就可以編譯通過了。所以這個問題我們可以歸結為一個Java轉型規則的問題。下面談一下Java數組對范型的支持問題。
JDK5中已經有了對范型的支持,這樣可以保證在集合和Map中的數據類型的安全,可是,List的toArray方法返回的竟然是Object []讓人很迷惑。個人感覺應該可以根據范型,直接返回相應的T []。仔細看了一下JDK的發現List轉化為array有兩個方法:
public Object[] toArray();
這個方法把List中的全部元素返回一個相同大小的數組,數組中的所有元素都為Object類型。
public <T> T[] toArray(T[] a);
這個方法把List中的全部元素返回一個相同大小的數組,數組中的所有元素都為T類型。
List如此設計是因為Java編譯器不允許我們new范型數組。也就是說你不能這么定義一個數組:
T arr=new T[size];
但是你卻可以用T[]來表示數組,而且可以把數組強制轉化為T[]。比如List中的public <T> T[] toArray(T[] a)是這么實現的:
public <T> T[] toArray(T[] a) {
if (a.length < size)
a = (T[])java.lang.reflect.Array.
newInstance(a.getClass().getComponentType(), size);
System.array(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
從上面代碼中可以看到,因為你不知道這個數組的類型,你必須通過反射機制創建這個數組(a.getClass().getComponentType()方法是取得一個數組元素的類型)。
最終,List轉換為Array可以這樣處理:
ArrayList<String> list=new ArrayList<String>();
String[] strings = new String[list.size()];
list.toArray(strings);
反過來,如果要將數組轉成List怎麼辦呢?如下:
String[] s = {"a","b","c"};
List list = java.util.Arrays.asList(s);

『玖』 JAVA 數組強制轉換,有點特殊

數組不能直接(String[])這樣強制將數組變數轉換
只有在使用使將元素轉換為String

原因:因為數組是不具體分配內存的,如:String[] x=new String[10];
只有在x[0]=new String("dsgds");時才分配具體內存給對象

閱讀全文

與java強制轉換數組相關的資料

熱點內容
android修改通知欄 瀏覽:251
壓縮變形計算公式 瀏覽:721
資料庫電腦伺服器名稱怎麼查詢 瀏覽:455
變異率范圍遺傳演算法 瀏覽:671
geek在手機里是啥文件夾 瀏覽:902
url編譯js 瀏覽:831
安卓怎麼有壓感 瀏覽:669
怎麼把安卓機改成蘋果機主題布局 瀏覽:420
程序員提現 瀏覽:537
解壓小游戲全部鏟走就勝利了 瀏覽:409
谷歌用什麼app更新 瀏覽:192
逸動16自吸壓縮比是多少 瀏覽:641
linux啟動smb 瀏覽:871
最大回撤演算法 瀏覽:493
什麼叫雲伺服器和普通服 瀏覽:18
粉紅佳緣是什麼app 瀏覽:562
硬碟在伺服器什麼位置 瀏覽:516
zarchiver解壓縮工具密碼 瀏覽:173
有個app叫彈什麼 瀏覽:169
歷史演義pdf 瀏覽:160