小编Eng*_*uad的帖子

反思:为什么有类似setAccessible()的方法?

只是想知道,为什么发明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)

java reflection language-design access-modifiers

4
推荐指数
1
解决办法
1442
查看次数

EJB事务回滚后自动重试

基本上,我有一个 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)

如果事务回滚,它是否会自动退出,直到事务完成?如果没有,如何启用?

java ejb weblogic jpa jakarta-ee

4
推荐指数
1
解决办法
4125
查看次数

Clojure GUI计算器." - "始终返回0,"/"始终返回1

我很清楚这段代码太可怕了.我刚刚做到了所以我可以尝试不同的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)

java swing clojure

3
推荐指数
1
解决办法
651
查看次数

测试一个方法,如果它在不调用它的情况下抛出异常

如何在不调用的情况下测试给定方法是否会抛出异常(取决于传递的对象)?

例如:

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上验证文件名

java exception

3
推荐指数
1
解决办法
1万
查看次数

使用asList的目的是什么?

我只是想知道什么是利益和方法的目的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 exception list arraylist

3
推荐指数
1
解决办法
714
查看次数

用Java解析URL

我正在寻找Java中的PHP的"parse_url"函数.我没有在Tomcat中运行.我有一个查询字符串保存在数据库中,我试图分解成单个参数.我在Pentaho里面工作,所以我只使用Java SE类.我知道我可以写一个插件或者其他东西,但是如果我要做所有的事情,我将用PHP编写脚本并完成它.

TLDR:寻找一个Java标准类/函数,它接受一个String并吐出一个参数数组.

谢谢,

罗杰

php java

3
推荐指数
1
解决办法
1671
查看次数

java.util.MissingResourceException:找不到CS的3个字母的国家/地区代码

我得到了例外:

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)

java swing country-codes jcombobox

3
推荐指数
1
解决办法
6292
查看次数

JTree如何显示文件名?

在我的项目中,我正在尝试添加文件资源管理器,以便用户可以从给定目录中选择文件.我想将此视图限制为项目的根文件夹(由用户确定).这与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 swing jtree

3
推荐指数
1
解决办法
5549
查看次数

在Java EE系统中编写静态实用程序类

我想开发一个实用程序类,可以以静态方式(静态方法)用于企业 Java 系统(JSP、Servlet、EJB)。它包含一些能够访问HttpSession用户对象并检索一些已存储为属性的有用信息(例如当前用户 ID)的方法。

你们中的一些人可能想知道为什么我需要这样的东西,而我可以简单地将HttpSession对象传递到任何地方。实际上,我正在开发旧版 Java EE 5.0 系统,一些实用程序类(不是 Servlet、JSP 或 EJB)无法访问该HttpSession对象。

是否可以实现这样的实用程序类?我/你应该在这里考虑一些限制:

  • Servlet/JSP 托管在与托管 EJB 不同的计算机上。
  • 该系统运行在Weblogic 10.3.0上。
  • 在 weblogic 上,有许多服务器(托管 servlet/JSP)并且它们位于同一个集群下。EJB 服务器也是如此。
  • 如果我Collection在实用程序类中声明一些静态,它会起作用吗?或者由于存在多个类加载器和多个 JVM,因此可能会有多个副本?
  • 也许我应该使用共享文件或共享数据库来实现它?我怎样才能跟踪哪个用户调用了实用程序类?也许跟踪线程?或者可能是与交易相关的事情?

java jsp servlets ejb jakarta-ee

3
推荐指数
1
解决办法
1322
查看次数

PagerSlidingTabStrip:ViewPager选项卡右对齐

如何将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)

java android arabic android-viewpager pagerslidingtabstrip

3
推荐指数
1
解决办法
6437
查看次数