String[]和Array数组之间可以相互转换吗?有什么区别和联系呢?

作者&投稿:戚毕 (若有异议请与网页底部的电邮联系)
怎么进行二维数组和String的互相转换~

package test;

public class ArrayToStringTest {
public static void main(String[] args) {
int[][] array = new int[4][4];
int count = 0;
ArrayToStringTest test = new ArrayToStringTest();

// 赋值一个int[][]
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
array[i][j] = count;
++count;
}
}

// 获取row,col
int row = test.getRow(array);
int col = test.getCol(array);

// 转为String
String str = test.convertToString(array, row, col);
System.out.println(str); // 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,

//转为int[][]
int[][] arrayConvert = new int[row][col];
arrayConvert = test.convertToArray(str, row, col);
}

public int getRow(int[][] array) {
int row = 0;
if (array != null) {
row = array.length; // 行
}
return row;
}

public int getCol(int[][] array) {
int col = 0;
if (array != null) {
col = array[0].length; // 列
}
return col;
}

public String convertToString(int[][] array, int row, int col) {
String str = "";
String tempStr = null;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
tempStr = String.valueOf(array[i][j]);
str = str + tempStr + ",";
}
}
return str;
}

public int[][]convertToArray(String str, int row, int col){
int[][]arrayConvert = new int[row][col];
int count = 0;
String[] strArray = str.split(",");
for(int i = 0 ; i < row ; i ++){
for(int j = 0 ; j < col ; j ++){
arrayConvert[i][j] = Integer.parseInt(strArray[count]);
++ count ;
}
}
return arrayConvert;
}
}

String[] strArray = new String[10];
String strNew = String.Empty;
for (int index = 0; index < strArray.Length; index++)
{
strNew += strArray[index];
}

我不知道你为什么要考虑将两者之间相互转换,首先是两者之间的转换是可行的,但是两者之是的转换是无意义的。

两者之间的区别,在msdn上说,array是实现数组的基础。虽然有这一句话,但不非是所有的其他数组都从该数组基础上继承的。两者在使用上可以说基本上是没有任何关系的。

首先说string[],它表示由字符串构成的数组,可以称其为字符串数组。而Array则是由object对象构成的数组,也可以称其为对象数组,事实上它是对象数组实现的基础,而不是string[]实现的基础,虽然string[]是引用类型,但并非一种继承关系。

如果将string[]转成array,意味首你将每一个string进行打包,然后放入到数组中,事实上我们知道,任何对象均可打包为object的,不管是值类型还是引用类型。

事实上array的出现不是为了对象数组,而是防止我们出现这种情况,一个数组,既不是string[]也不是int[],而是数组由string,也有int,这时我们要使用这种array来实现了。也就是说将每一个string或int均打包成object,事实上array有点象object[]了。至少你可以这么理解。

string[]是存在ToArray()方法的,该方法是lamabda表达式,可以直接使用,或者string[].ToArray<string>();均是可以的,但该方法是出现是.net 3.5以及后续版本。

所有数组是用Array实现的,所以如果你要转换,这样:
string[] s = {"abc","123","ABC"};Array a = new object[s.Length];
s.CopyTo(a, 0);
这样就可以将string数组转换到Array,但Array转换到string不能直接转换,只能显式转换,如下:
string[] ends = new string[a.GetLength(0)];
for(int i = 0;i< a.GetLength(0);i++){
ends[i] = a.GetValue(i).ToString();
}
Array你可以看做一个数组,可是Array[]就相当于object[][]了哦,因为是数组的数组了。

String[]是Array的一个子类实现
Array是全部数组类型的基类

所以无法达到“相互转换”
你可以写一段代码比如Array ary = new String[]{};
因为子类能被基类兼容 但是反过来就不一定了..


tring to be a tour guide中的tring是什么含义
这个是不是有问题,我觉得应该是trying,try尝试的意思try to do 是努力做的意思,try doing 是试着做的意思,所以这句话原本的意思是努力成为一个导游。

SQL语句通配符查询, 怎么查找 中括号 []
1、[charlist] 字符列中的任何单一字符 2、[^charlist]或者[!charlist] 不在字符列中的任何单一字符 以图中表格为例,1、查询居住的城市以 "A" 或 "L" 或 "N" 开头的人:SELECT * FROM Persons WHERE City LIKE '[ALN]%'2、查询居住的城市不以 "A" 或 "L" 或 "N" 开头的人:SEL...

c++ tring和char数组怎么相互赋值
char b ,c;cin>>b>>a;c=b;b=a;a=c;

含tring to apologize歌词的歌曲是什么?曲子挺轻快了,急~
应该是rihanna的take a bow

歌词有never up tring tring tring tring
Just have a little patience 需要些耐 I'm still hurting from a love I lost, 我失伤 I'm feeling your frustration. 我能失望 Any minute all the pain will stop. 痛苦随能停止 Just hold me close inside your arms tonight, 今晚我拥入怀吧 don't be too hard on my emotions 情别我...

a lei feng teenager英语作文
when we learn about something new everytime.Life is too short. in the high school,we shoul play our roles as a sudent properly,tring to get grades and at the same time ,enjoy everyday's sunshine to be a happy man ! PS:Thank you! If u like this composition, please ...

...are___to open the door. A.trying hard B.tring hard C.trying har...
答案:They are【trying hard 】to open the door.翻译:他们正在尽力去打开门.解析:try to do sth.翻译为尽力做某事.注意:hard 既可以是形容词也可以是副词.应该选择A。hard的词义:adj.困难的;硬的;有力的;努力的 adv.努力地;猛力地;严重地;沉重地 hardly的词义:adv.几乎不;简直不;...

求dawnless 2006年专辑A Way Of Escape 中tring to get away 的歌词...
Don't wanna be a clown Moved around I'll try to get away No matter if I die I'll still try Freedom Is what I'll take away Down below laughing out loud He pulls the strings of evil and we obey So listen to me there will be no chance Of finding peace if we don't ...

C++中如何定义一个只读内存?
const mytring a=new char;a 就是一个只读内存的地址。

鹬鸟是什么鸟
普通鹬(Actitis hypoleucos或Tringa hypoleucos,即矶鹬)在整个欧亚大陆的河流和湖泊长满草的岸边大量繁殖,越冬于非洲到澳大利亚和波利尼西亚,以紧张不安地摆尾动作而著名。斑鹬(A. macularia)与矶鹬近缘,是最著名的新大陆鹬,繁殖于亚北极和北美洲的温带地区的池塘和溪流边,向南到阿根廷越冬。 孤鹬(Tringa ...

迎泽区14786972403: String[]和Array数组之间可以相互转换吗?有什么区别和联系呢? -
虿生屏风: 我不知道你为什么要考虑将两者之间相互转换,首先是两者之间的转换是可行的,但是两者之是的转换是无意义的.两者之间的区别,在msdn上说,array是实现数组的基础.虽然有这一句话,但不非是所有的其他数组都从该数组基础上继承的...

迎泽区14786972403: 在C#里,string[]和arr都可以定义数组,区别是什么? -
虿生屏风: string[]只能定义为字符型数组,也就是char类型的字符串~ 而array可以是任意类型和任意维数的~~ 比如声明一个二维整型数组A:int arr_A[][]; 希望能帮上你~

迎泽区14786972403: java array和list string[]有什么区别 分别怎样初始化呢 -
虿生屏风: String[] 就是java的array,array是定长的 创建时就需要指定长度 之后不可更改 结构简单 List则是变长的,可动态伸缩String[] arrays = new String[10]; // 长度10的array List<String> list = new ArrayList<String>(); // ArrayList是List的一个实现类

迎泽区14786972403: java怎么定义一个字符串数组 -
虿生屏风: 下面2种写法都可以; String [] array = new String[]{"1","b"}; String array[] = new String[]{"1","b"};

迎泽区14786972403: java中String array 和String array 的区别?
虿生屏风: 规范性问题,前者更规范,你可以这样理解:变量的声明都是变量类型后面跟变量名字,例如intage.字符串数组声明为变量类型String【】,变量名字是array

迎泽区14786972403: Array和ArrayList的异同点 -
虿生屏风: Array和ArrayList的异同点 一、Array和ArrayList的区别 #1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明. 如: int[] array = new array[3]; 或 int[] array = {1,2,3}; 或 ArrayList myList = ...

迎泽区14786972403: javascript中STRING和array对象有什么区别
虿生屏风: 简单点就是string是字符(串)... 而array是数组...可以放数字啊,字符啊等一系列东东!!!

迎泽区14786972403: java String 数组比较 -
虿生屏风: public static void main(String[] args) { String[] a = { "1", "2", "3", "4" }; String[] b = { "1", "3", "5" }; int index = a.length; int t = 0; int in = 0; String[] an = new String[a.length + b.length]; for (int i = 0; i < a.length; i++) { an[i] = a[i]; } for (...

迎泽区14786972403: Java中数组的定义与使用方法
虿生屏风: Java中数组的定义与使用方法: 1、数组的定义 语法有两种: type arrayName[]; type[] arrayName; type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量....

迎泽区14786972403: 急!!java string 类型的字符串 数组排序!! -
虿生屏风: //jdk1.4 以下由小到大 如果长度一直 按照字符串排序 public static void main(String[] args){String[] arrays = { "aa", "ab", "ccc", "dddddd" };Arrays.sort(arrays, new ComparatorArrayList(){public int compare(Object o1, Object o2){...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网