在Java EE页面(Facelets或JSP)中使用EL获取列表或数组中的特定元素是可能的,还是必须创build自定义EL方法?
在其他post中寻找答案后,我觉得我必须问这个。 我看了如何检查数组是否包含JavaScript中的对象? 和最好的方法来查找一个项目是否在JavaScript数组? 并不能让代码在那里工作。 我正在捕获一个HTMLembedded代码到一个数组,所以每个项目是一行HTML代码。 例如: i[0]='<param name=\"bgcolor\" value=\"#FFFFFF\" />' i[1]='<param name=\"width" value=\"640\" />' i[2]='<param name=\"height\" value=\"360\" />' i[3]='more html code' 我想search这个数组,find“高度”这个单词的位置。 所以理想情况下,我想写一个函数返回“高度”出现的项目的索引。 幸运的是,这个数组中没有重复,所以只有一个出现。 与简单的对象search我得到“虚假”的回报。 任何想法?
有一种简洁的内置方式可以在JUnit中的两个相似types的数组上进行相等的断言吗? 默认情况下(至less在JUnit 4中)似乎是在数组对象本身上进行实例比较。 EG,不起作用: int[] expectedResult = new int[] { 116800, 116800 }; int[] result = new GraphixMask().sortedAreas(rectangles); assertEquals(expectedResult, result); 当然,我可以手动使用: assertEquals(expectedResult.length, result.length); for (int i = 0; i < expectedResult.length; i++) assertEquals("mismatch at " + i, expectedResult[i], result[i]); 有没有更好的办法?
如何使用preg_match在数组中进行search? 例: <?php if( preg_match( '/(my\n+string\n+)/i' , array( 'file' , 'my string => name', 'this') , $match) ) { //Excelent!! $items[] = $match[1]; } else { //Ups! not found! } ?>
我有两个string数组,我想比较它们是否相等: my @array1 = ("part1", "part2", "part3", "part4"); my @array2 = ("part1", "PART2", "part3", "part4"); 有一种内置的方法来比较数组,比如标量吗? 我试过了: if (@array1 == @array2) {…} 但它只是在标量上下文中评估每个数组,因此比较每个数组的长度。 我可以推出我自己的function来做,但似乎是这样一个低级别的操作,应该有一个内置的方式来做到这一点。 在那儿? 编辑:可悲的是,我没有访问5.10 +或可选组件。
我有这两个数组:一个充满来自ajax请求的信息,另一个存储用户点击的button。 我使用这个代码(我填写了样本编号): var array1 = [2, 4]; var array2 = [4, 2]; //It cames from the user button clicks, so it might be disordered. array1.sort(); //Sorts both Ajax and user info. array2.sort(); if (array1==array2) { doSomething(); }else{ doAnotherThing(); } 但是,即使两个数组是相同的,但名称不同,它总是会给出false 。 (我在Chrome的JS控制台中检查过)。 那么,有什么办法可以知道这两个数组是否包含相同的? 为什么这是false ? 我怎样才能知道第一个数组中的哪些值不在第二个?
嗨我试图合并两个数组也想从最终数组中删除重复值。 这是我的arrays1: Array ( [0] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 ) 这是我的数组2: Array ( [0] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 ) 我使用array_merge将两个数组合并成一个数组。 它是这样的输出 Array ( [0] => stdClass Object […]
以下代码在做什么? int g[] = {9,8}; int (*j) = g; 从我的理解中创build一个指向2个整数的指针。 但是为什么这个工作: int x = j[0]; 这不工作: int x = (*j)[0];
目前,无论何时我需要从数组创buildstream,我都这样做 String[] array = {"x1", "x2"}; Arrays.asList(array).stream(); 有一些直接的方法来创build数组的stream?
最近我被要求写一个工作3个testing程序。 他们将只使用核心Java API和我select的任何testing框架来编写。 unit testing应在适当的地方执行。 虽然我还没有收到任何反馈,但我想他们不喜欢我的解决scheme(否则我会听到他们的),所以我决定在这里展示我的程序,询问这个实现是否可以被认为是好的,如果不是,那为什么? 为了避免混淆,我现在只会问第一个。 实现一个在另一个更大的数组中find数组的函数。 它应该接受两个数组作为参数,它将返回第一个数组第一个完全出现的第一个数组的索引。 例如,findArray([2,3,7,1,20],[7,1])应该返回2。 我没有试图find任何现有的解决scheme,而是想自己做。 可能的原因:1.应该是静态的。 2.应该使用行注释,而不是块注释。 3.没有先检查空值(我知道,只是发现太晚了)。 4.? 更新 : 有很多原因已经提出,我很难select一个答案,因为许多答案都有一个好的解决scheme。 正如@adietrich所提到的,我倾向于相信他们希望我展示核心API的知识(他们甚至要求编写一个函数,而不是写一个algorithm)。 我相信确保工作的最好方法是尽可能多的提供解决scheme,包括:1.使用Collections.indexOfSubList()方法实现,以显示我知道核心集合API。 2.使用暴力方法实施,但提供更优雅的解决scheme。 3.使用searchalgorithm实现,例如Boyer-Moore。 4.使用System.arraycopy()和Arrays.equal()的组合来实现。 然而,在性能方面不是最好的解决scheme,它会显示我对标准数组例程的知识。 谢谢大家的回答! 更新结束。 这是我写的: 实际计划: package com.example.common.utils; /** * This class contains functions for array manipulations. * * @author Roman * */ public class ArrayUtils { /** * Finds a sub array […]