Tag: java

在JUnit断言中比较数组,简洁的内置方式?

有一种简洁的内置方式可以在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]); 有没有更好的办法?

我如何deviseJavaFX中的ProgressBar组件

我正在尝试将自定义CSS样式添加到JavaFX ProgressBar组件,但我找不到有关该主题的任何信息。 我正在寻找的CSS类名称和所需的CSS命令: 设置进度条本身的颜色 设置进度条的背景颜色(与设置背景颜色不一样) 在进度条顶部添加一个自定义文本节点(以显示不同的状态)

无限滚动图像ViewPager

正如Google所logging的那样,Gallery类在API级别16中已被弃用。不再支持此小部件。 其他水平滚动的小部件包括支持库中的Horizo​​ntalScrollView和ViewPager。 所以我用ViewPager作为Gallery类的替代品。 我的目标是最终实现带有文本描述的无限滚动图像ViewPager 。 我用下面的代码来实现图像ViewPager与描述每个图像的文本,但我如何将无限滚动应用到ViewPager? 我之前没有使用过ViewPager,请尽可能提供详细的代码。 activity_main.xml中: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/myimagepager" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> custom_pager.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal"> <ImageView android:id="@+id/myimage" android:layout_width="match_parent" android:layout_height="0dp" android:layout_margin="5dp" android:layout_weight="2" /> <TextView android:id="@+id/image_text" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"/> </LinearLayout> ImagePager: public class ImagePager extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImagePagerAdapter […]

取消长时间运行的正则expression式匹配?

假设我正在运行一项服务,用户可以提交正则expression式来search大量数据。 如果用户提交一个非常缓慢的正则expression式(即Matcher.find()需要几分钟才能返回),我想要一种方法来取消匹配。 我能想到的唯一方法是让另一个线程监视匹配的时间,如果需要的话使用Thread.stop()来取消它。 成员variables: long REGEX_TIMEOUT = 30000L; Object lock = new Object(); boolean finished = false; Thread matcherThread; 匹配线程: try { matcherThread = Thread.currentThread(); // imagine code to start monitor thread is here try { matched = matcher.find(); } finally { synchronized (lock) { finished = true; lock.notifyAll(); } } } catch (ThreadDeath td) […]

尝试使用资源与Try-Catch

我一直在看代码,我看到尝试与资源。 我之前使用过标准的try-catch语句,看起来他们做的是一样的事情。 所以我的问题是尝试使用资源VS Try-Catch之间有什么区别,哪个更好。 这里是一个尝试与资源: objects jar = new objects("brand"); objects can= new objects("brand"); try (FileOutputStream outStream = new FileOutputStream("people.bin")){ ObjectOutputStream stream = new ObjectOutputStream(outStream); stream.writeObject(jar); stream.writeObject(can); stream.close(); } catch(FileNotFoundException e) { System.out.println("sorry it didn't work out"); } catch(IOException f) { System.out.println("sorry it didn't work out"); }

将base64string转换为Java中的Image

我有一个图像通过JSONstring发送给我。 我想在我的android应用程序中将该string转换为图像,然后显示该图像。 JSONstring如下所示: "data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVI…" 注意:我用…截断了string 我有一个函数(我认为)将string转换为图像。 我做对了吗? public Bitmap ConvertToImage(String image){ try{ InputStream stream = new ByteArrayInputStream(image.getBytes()); Bitmap bitmap = BitmapFactory.decodeStream(stream); return bitmap; } catch (Exception e) { return null; } } 然后我尝试在我的Android活动中显示它 String image = jsonObject.getString("barcode_img"); Bitmap myBitmap = this.ConvertToImage(image); ImageView cimg = (ImageView)findViewById(R.id.imageView1); //Now try setting dynamic image cimg.setImageBitmap(myBitmap); 但是,当我这样做,没有出现。 我不会在logcat中出现任何错误。 我究竟做错了什么? 谢谢

从.txt文件读取和显示数据

你如何阅读和显示来自.txt文件的数据?

检测Web应用程序中的设备types

我们有一个基于Java的应用程序,我们希望检测发送请求的设备的设备types(移动设备或桌面设备)。 这怎么可能?

如何使用web.xml中的Servlet URL映射?

我有一个web.xml文件的内容: <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>org.mycompany.test1</servlet-class> </servlet> <servlet> <servlet-name>servlet2</servlet-name> <servlet-class>org.mycompany.test2</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet1</servlet-name> <url-pattern>/path/test</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>servlet2</servlet-name> <url-pattern>/path/test/*</url-pattern> </servlet-mapping> 我试过请求 …/path/test/abc …/path/test 这两个请求都由Servlet2处理。 为什么? UPDATE 谢谢你们的帮助。 我意识到,行为取决于servlet映射声明的顺序。 我试过这个web.xml <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>org.mycompany.test1</servlet-class> </servlet> <servlet> <servlet-name>servlet2</servlet-name> <servlet-class>org.mycompany.test2</servlet-class> </servlet> <servlet> <servlet-name>servlet3</servlet-name> <servlet-class>org.mycompany.test3</servlet-class> </servlet> <servlet> <servlet-name>servlet4</servlet-name> <servlet-class>org.mycompany.test4</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet1</servlet-name> <url-pattern>/path/test</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>servlet2</servlet-name> <url-pattern>/path/test/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>servlet3</servlet-name> <url-pattern>/path/*</url-pattern> </servlet-mapping> <servlet-mapping> […]

Java创build一个新的ObjectInputStream块

我试图创build一个新的ObjectInputStream使用从Socket检索的InputStream。 这是我的代码: 这是我的MessageGetterSender类的构造函数。 程序没有到达检查点4。 public MessageGetterSender(Socket socket) { System.out.println("MessageGetterSender: Checkpoint 1"); this.socket = socket; // Get input and output streams try { System.out.println("MessageGetterSender: Checkpoint 2"); InputStream is = socket.getInputStream(); System.out.println("MessageGetterSender: Checkpoint 3"); this.in = new ObjectInputStream(is); System.out.println("MessageGetterSender: Checkpoint 4"); } catch (IOException ioe) { System.out.println("Could not get ObjectInputStream on socket: " + socket.getLocalPort()); } try […]