只是想知道,为什么发明Java的人会编写类似的方法setAccessible(boolean flag),这会使访问修饰符(特别是私有的)无用,无法保护字段,方法和构造函数不被覆盖?请看以下简单示例:
public class BankAccount
{
private double balance = 100.0;
public boolean withdrawCash(double cash)
{
if(cash <= balance)
{
balance -= cash;
System.out.println("You have withdrawn " + cash + " dollars! The new balance is: " + balance);
return true;
}
else System.out.println("Sorry, your balance (" + balance + ") is less than what you have requested (" + cash + ")!");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
import java.lang.reflect.Field;
public class Test
{
public static void main(String[] args) …Run Code Online (Sandbox Code Playgroud) 基本上,我有一个 JMS 队列和一个 MDB,用于从 JMS 队列收集消息,对它们进行一些处理,然后通过 JPA 将消息保存到数据库中。我标记了该方法,该方法负责将消息持久保存到数据库中,以在新事务中启动:
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void create(T entity)
{
try
{
getEntityManager().persist(entity);
}
catch(Exception e)
{
throw new RuntimeException("DB Exception");
}
}
Run Code Online (Sandbox Code Playgroud)
如果事务回滚,它是否会自动退出,直到事务完成?如果没有,如何启用?
我很清楚这段代码太可怕了.我刚刚做到了所以我可以尝试不同的Swing东西.这是一个有趣的问题.这创建了4个按钮,用于添加,减去,分割和相乘.乘法和加法完美地工作,完全没有问题,但是当用户试图减去它时总是返回0.当用户试图除以它时,总是返回1或1.0,具体取决于输入.我无法弄清楚.这是代码:
(ns rayne.main
(:gen-class)
(:import (javax.swing JFrame JTextField JButton JOptionPane)
(java.awt.event ActionListener)
(java.awt GridLayout)))
(def numbers (ref []))
(def times-clicked (ref 0))
(defn calc [nseq op]
(let [n1 (first nseq)
n2 (last nseq)]
(cond
(= op "+") (+ n1 n2)
(= op "*") (* n1 n2)
(= op "-") (- n2 n1)
(= op "/") (/ n1 n2))))
(defn add-op-button [op text button]
(.addActionListener button
(proxy [ActionListener] []
(actionPerformed [e]
(dosync
(ref-set times-clicked (inc @times-clicked))
(if (= @times-clicked 2)
(do …Run Code Online (Sandbox Code Playgroud) 如何在不调用的情况下测试给定方法是否会抛出异常(取决于传递的对象)?
例如:
public static boolean isAllowed(SomeObject obj)
{
try
{
myMethod(obj);
return true;
}
catch(Exception ex)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但是上面的方法会执行MyMethod(),我怎么能在java中实现这个呢?
编辑:
实际上,我想这样做来验证文件名.请参阅:在Windows上验证文件名
我只是想知道什么是利益和方法的目的asList()在阵列.
它返回一个由指定数组支持的固定大小的列表,因此我们不能向该列表添加元素,它就像一个数组(我们不能向它添加元素).有没有办法将固定大小的列表转换为非固定大小的列表?
当我尝试将元素添加到固定大小的列表时,它会抛出UnsupportedOperationException:
Double[] d = {3.0, 4.0, 5.0};
List<Double> myList = Arrays.asList(d);
myList.add(6.0); // here it will throw an exception
Run Code Online (Sandbox Code Playgroud) 我正在寻找Java中的PHP的"parse_url"函数.我没有在Tomcat中运行.我有一个查询字符串保存在数据库中,我试图分解成单个参数.我在Pentaho里面工作,所以我只使用Java SE类.我知道我可以写一个插件或者其他东西,但是如果我要做所有的事情,我将用PHP编写脚本并完成它.
TLDR:寻找一个Java标准类/函数,它接受一个String并吐出一个参数数组.
谢谢,
罗杰
我得到了例外:
Exception in thread "AWT-EventQueue-0" java.util.MissingResourceException: Couldn't find 3-letter country code for CS
at java.util.Locale.getISO3Country(Locale.java:1521)
at Business.CountryList.CountryList(CountryList.java:29)
Run Code Online (Sandbox Code Playgroud)
我把这个函数称为:
countryJComboBox.removeAllItems();
countryJComboBox.addItem(CountryList.CountryList(new String[0]));
Run Code Online (Sandbox Code Playgroud)
CountryList类如下:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Business;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
/**
*
* @author Vivek
*/
public class CountryList {
public static Country CountryList(String[] args) {
List<Country> countries = new ArrayList<>();
Locale[] locales = Locale.getAvailableLocales(); …Run Code Online (Sandbox Code Playgroud) 在我的项目中,我正在尝试添加文件资源管理器,以便用户可以从给定目录中选择文件.我想将此视图限制为项目的根文件夹(由用户确定).这与Eclipses Package Explorer非常相似,因为"工作区"由用户决定.
目前文件不显示完整路径(从C :)这是我想要的,但所有文件夹显示完整路径(我不想要,我只想要文件夹名称).
那么JTree如何显示这些名称?
我已经看到JTree使用File.tostring()方法,但是当我实现自己的文件并覆盖toString方法时,没有任何改变.
这是我的代码:
import java.awt.BorderLayout;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.util.Collections;
import java.util.Vector;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class pnl_fileView extends JPanel {
/**
* Display a file system in a JTree view
*
* @version $Id: FileTree.java,v 1.9 2004/02/23 03:39:22 ian Exp $
* @author Ian Darwin
*/
/** Construct …Run Code Online (Sandbox Code Playgroud) 我想开发一个实用程序类,可以以静态方式(静态方法)用于企业 Java 系统(JSP、Servlet、EJB)。它包含一些能够访问HttpSession用户对象并检索一些已存储为属性的有用信息(例如当前用户 ID)的方法。
你们中的一些人可能想知道为什么我需要这样的东西,而我可以简单地将HttpSession对象传递到任何地方。实际上,我正在开发旧版 Java EE 5.0 系统,一些实用程序类(不是 Servlet、JSP 或 EJB)无法访问该HttpSession对象。
是否可以实现这样的实用程序类?我/你应该在这里考虑一些限制:
Collection在实用程序类中声明一些静态,它会起作用吗?或者由于存在多个类加载器和多个 JVM,因此可能会有多个副本?如何将ViewPager中的选项卡与右侧而不是左侧对齐?android.support.v4.view.ViewPager如果重要,我正在使用.

我试过android:layout_gravity="right"但它不影响对齐:
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right">
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)