Tag: java

我如何编写自定义exception?

我怎样才能创build一个新的Exception不同于预先制定的types? public class InvalidBankFeeAmountException extends Exception{ public InvalidBankFeeAmountException(String message){ super(message); } } 它将显示在第一行写入的InvalidBankFeeAmountException的警告。

Java中的默认访问修饰符是什么?

如果我没有明确声明,那么方法或实例variables的默认访问修饰符是什么? 例如: package flight.booking; public class FlightLog { private SpecificFlight flight; FlightLog(SpecificFlight flight) { this.flight = flight; } } 该构造函数的访问修饰符是受保护的还是包? 可以在同一个包中的其他类,也就是flight.booking ,调用这个构造函数吗?

增加Java堆大小永久?

有没有一种方法可以在我自己的计算机上设置jvm的默认堆大小? 我想将它设置为1g,因为我总是运行自定义程序,总是以默认的jvm大小达到超龄点。 我只是不想记得键入-XmX1g每次我从命令行运行我的Java应用程序… 必须有一个pipe理的方式来做到这一点的权利?

HttpRequest最大允许的大小在Tomcat?

我可以通过单个HttpURLConnection发送给Tomcat的最大数据量是多less?请求大小是否有限制?

Java中的快捷方式“or-assignment”(| =)运算符

我在Java中做了很长时间的比较,我想知道它们中的一个或多个是否正确。 比较的string很长,很难阅读,所以我把它分解为可读性,并自动去使用快捷键运算符|=而不是negativeValue = negativeValue || boolean negativeValue = negativeValue || boolean 。 boolean negativeValue = false; negativeValue |= (defaultStock < 0); negativeValue |= (defaultWholesale < 0); negativeValue |= (defaultRetail < 0); negativeValue |= (defaultDelivery < 0); 如果任何默认的<something>值为negativeValue ,我预计negativeValue为true。 这有效吗? 它会做我所期望的吗? 我看不到它在Sun网站或者stackoverflow上提到过,但是Eclipse似乎没有问题,代码编译和运行。 同样,如果我想执行几个逻辑交集,我可以使用&=而不是&& ?

增加BigDecimal

我想用一些BigDecimaltypes的货币值做一些简单的总和。 BigDecimal test = new BigDecimal(0); System.out.println(test); test.add(new BigDecimal(30)); System.out.println(test); test.add(new BigDecimal(45)); System.out.println(test); 显然我不太了解BigDecimalalgorithm,看后面的输出。 Test 0 0 0 谁能帮我吗?

Android – 如何以编程方式截图

我需要安装Android设备或模拟器的屏幕截图,当我的应用程序每隔200毫秒安装并在后台运行,并将图像保存在我的电脑中。 我已经使用下面的代码实现了这个过程,只有当我的应用程序在前台时才起作用。 当我的应用程序在后台时,我也想截图。 以下是我的代码: public static Bitmap takeScreenshot(Activity activity, int ResourceID) { Random r = new Random(); int iterator=r.nextInt(); String mPath = Environment.getExternalStorageDirectory().toString() + "/screenshots/"; View v1 = activity.getWindow().getDecorView().findViewById(ResourceID); v1.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); v1.layout(0, 0, v1.getMeasuredWidth(), v1.getMeasuredHeight()); v1.setDrawingCacheEnabled(true); final Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache()); Bitmap resultBitmap = Bitmap.createScaledBitmap(bitmap, 640, 480, false); v1.setDrawingCacheEnabled(false); File imageFile = new […]

Java – 从接口types而不是类声明

为了正确掌握界面的最佳实践,我注意到如下的声明: List<String> myList = new ArrayList<String>(); 代替 ArrayList<String> myList = new ArrayList<String>(); – 我的理解原因是因为它允许灵活性的情况下有一天,你不想实现一个ArrayList,但也许是另一种types的列表。 有了这个逻辑,我设立了一个例子: public class InterfaceTest { public static void main(String[] args) { PetInterface p = new Cat(); p.talk(); } } interface PetInterface { public void talk(); } class Dog implements PetInterface { @Override public void talk() { System.out.println("Bark!"); } } class Cat […]

原始types“短” – 在Java中投射

我有一个关于Java中的shorttypes的问题。 我正在使用JDK 1.6。 如果我有以下情况: short a = 2; short b = 3; short c = a + b; 编译器不想编译 – 它说“它不能从int转换为short”,并build议我把一个expression式转换为short ,所以这个: short c = (short) (a + b); 真的有用。 但我的问题是为什么我需要施放? a和b的值在short的范围内 – 短值的范围是{-32,768,32767}。 当我想要执行操作时,我也需要投射 – ,*,/(我没有检查过其他人)。 如果我对原始typesint做同样的操作,我不需要将aa + bb转换为int 。 以下工作正常: int aa = 2; int bb = 3; int cc = aa +bb; […]

是否有一个相当于“glob”types模式的java.util.regex?

是否有一个标准(最好是Apache Commons或类似的非病毒)库在Java中进行“glob”types匹配? 当我不得不在Perl中做类似的时候,我只是把所有的“ . ”改为“ \. ”,把“ * ”改成“ .* ”,把“ ? ”改成“ . ”等等,但是我想知道是否有人为我完成了这项工作。 类似的问题: 从globexpression式创build正则expression式