如何实现java代码转php代码
这篇文章运用简单易懂的例子给大家介绍如何实现java代码转php代码,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
java代码转php代码的方法:1、将一个数组类型或对象类型的List与数组组合,并返回List;2、使用二维数组参数方法返回组合的二维数组类型,并使用了递归;3、将一个数组类型或二维数组类型与数组组合,并返回二维数组。
java代码转php代码的方法:
方法一:
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class ArrayAssemble {@SuppressWarnings("unchecked")public static void main(String[] args) {String[] arrOfInt = { "红", "橙", "黄","黑" };@SuppressWarnings("unused")String[] arrOfChar1 = { "L", "XL" };@SuppressWarnings("unused")String[] arrOfChar2 = { "麻", "晴纶","看" };String[] arrOfChar3 = { "奎", "康" };String[] arrOfStr = { "lmy", "lyb", "mz", "yx" };System.out.println("以下是组合后的数组");//Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] {arrOfInt, arrOfChar1, arrOfChar2, arrOfChar3,arrOfStr });Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] { arrOfChar1,arrOfChar2, arrOfChar3 });//Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] { arrOfChar1,arrOfChar2 });int i = 0;for (Object[] objArrays : objectsArrays) {i++;System.out.println(i + "=" + Arrays.toString(objArrays));}}
方法一的辅助方法:将一个数组类型或对象类型的List与数组组合,并返回List
@SuppressWarnings("unchecked")public static List assembleArrayToList(List aList, Object[] array) {List arrList = new ArrayList();// 遍历aList,将array与aList进行组合for (int i = 0; i < aList.size(); i++) {Object obj = aList.get(i);// 检查aList的元素是否是数组类型的,如果不是,则直接产生组合列表if (obj instanceof Object[]) {Object[] listArr = (Object[]) obj;// 对数组类型的aList元素与array进行组合for (int k = 0; k < array.length; k++) {Object[] newListArr = new Object[listArr.length + 1];for (int j = 0; j < listArr.length; j++) {newListArr[j] = listArr[j];}newListArr[listArr.length] = array[k];arrList.add(newListArr);}} else {// 对非数组类型的aList元素与array进行组合for (int j = 0; j < array.length; j++) {Object[] arrObj = { aList.get(i), array[j] };arrList.add(arrObj);}}}return arrList;}
方法二:使用二维数组参数方法返回组合的二维数组类型,并使用了递归
@SuppressWarnings("unchecked")public static Object[][] assembleArraysToPlanerArray(Object[][] objectArrays) {if (objectArrays.length == 2) {Object[] assembledArray = objectArrays[0];Object[] array = objectArrays[1];return assembleArrayToArray(assembledArray, array);} else if (objectArrays.length <= 1) {return objectArrays;} else {Object[] objArray = objectArrays[objectArrays.length - 1];objectArrays = Arrays.copyOf(objectArrays, objectArrays.length - 1);return assembleArrayToArray(assembleArraysToPlanerArray(objectArrays), objArray);}}
方法二的辅助方法:将一个数组类型或二维数组类型与数组组合,并返回二维数组
public static Object[][] assembleArrayToArray(Object[] assembledArray,Object[] array) {int lenAssArray = assembledArray.length;int lenArray = array.length;Object[][] objArrays = new Object[lenAssArray * lenArray][];for (int i = 0; i < lenAssArray; i++) {Object obj = assembledArray[i];if (obj instanceof Object[]) {Object[] objArr = (Object[]) obj;int lenObjArr = objArr.length;for (int k = 0; k < lenArray; k++) {// 复制objArr数组到newListArr数组,并将其长度加一Object[] newListArr = Arrays.copyOf(objArr, lenObjArr + 1);// 将array数组的第k+1元素赋值给newListArr数组最后的元素,并将newListArr赋值给objArrays数组的第k+1个元素newListArr[lenObjArr] = array[k];objArrays[lenArray * i + k] = newListArr;}} else {for (int j = 0; j < lenArray; j++) {Object[] newObjArray = { obj, array[j] };objArrays[lenArray * i + j] = newObjArray;}}}return objArrays;}}
关于如何实现java代码转php代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。