javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

java-从JSON字符串创建BSON对象

我有从外部应用程序获取数据的Java应用程序。 传入的JSON以字符串形式。 我想解析该Strings并创建BSON对象。

不幸的是,我在Java的BSON实现中找不到用于此的API。

我是否像GSON这样使用了外部解析器?

trans by 2020-07-13T15:28:02Z

java-避免maven-jar的最佳方法是什么?

我正在使用其他插件(ant4eclipse)来存储我的文件。 避免执行maven-jar插件的最佳方法是什么?

  • 我试图删除<skip>true</skip>
  • 我试图<skip>true</skip>
  • I tried to <skip>true</skip>

没有工作

trans by 2020-07-13T14:50:17Z

java-如何处理Maven和Intellij之间的Junits中的相对路径

我有一个带有模块的Maven项目

/myProject
pom.xml
    /myModule
    pom.xml
       /foo
       bar.txt

考虑一下myModule中的Junit,它需要打开bar.txt,使用maven的basedir是模块目录。

所以打开文件bar.txt:

  new File("foo/bar.txt")

当您在intellij中启动相同的junit时执行myProject/foo/bar.txt BUT时,此方法效果很好,因为Intellij在项目目录而不是模块目录中设置了basedir,所以失败。

Intellij尝试打开myProject/foo/bar.txt而不是myProject/myModule/foo/bar.txt

有办法解决吗?

trans by 2020-07-13T10:39:58Z

java-字符串replaceAll()与匹配器replaceAll()(性能差异)

一个非常简单的问题,但这是来自C / C ++人员进入Java的复杂性的。

我知道我可以启动jUnit和自己的一些性能测试来得到答案。 但我只是想知道这是否在那里。

在性能方面,String.replaceAll()和Matcher.replaceAll()(在从Regex.Pattern创建的Matcher对象上)之间是否存在已知差异?

此外,两者之间的高级API ish区别是什么? (不可变性,处理NULL,处理空字符串,煮咖啡等)

trans by 2020-07-13T10:34:54Z

java-我们到底什么时候应该使用“ public static final String”?

我见过很多人写final的代码然后只使用一个值。

他们为什么要这样做? 为什么在使用它之前必须将值初始化为final

更新

好的,感谢您的所有回答,我了解这些键(公共静态最终键)的含义。 我不明白的是,为什么人们会使用该常量,即使该常量仅在一个地方且仅在同一类中使用。 为什么要宣布呢? 我们为什么不只使用变量?

trans by 2020-07-13T09:33:49Z

Java:如何测试数组相等性?

为什么下面的代码打印"Different."

boolean[][] a = { {false,true}, {true,false} };
boolean[][] b = { {false,true}, {true,false} };

if (Arrays.equals(a, b) || a == b)
    System.out.println("Equal.");
else
    System.out.println("Different.");
trans by 2020-07-13T09:26:01Z

java-JSR 303:如何验证带注释的对象的集合?

是否有可能在JSR 303-Jave Bean验证中验证对象的集合,其中该集合本身没有任何注释,但包含在其中的元素呢?

例如,由于第二个人的名字为空,这是否可能导致约束冲突:

List<Person> people = new ArrayList<Person>();
people.add(new Person("dave"));
people.add(new Person(null));

Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<List<Person>>> validation = validator.validate(people);
trans by 2020-07-13T09:00:05Z

IntelliJ(在Java中)的“热插拔错误”是什么意思?

我不知道什么是热插拔,对于我的一生来说,我无法构建Google搜索来找到对我的程序有意义的内容。 我一直在以相同的方式来编辑课程,而当我去上课时,突然之间

热插拔失败:myClassName:未实现架构

错误。

谁能用莱曼的话向我解释?

trans by 2020-07-13T08:58:10Z

J中没有堆栈跟踪的异常

这可能是一个非常幼稚的问题。

我曾经相信Java中的Throwable始终包含堆栈跟踪。 这是正确的吗?现在看起来我没有堆栈跟踪就捕获了exceptions。 是否有意义? 是否可以在没有堆栈跟踪的情况下捕获异常?

trans by 2020-07-13T08:42:51Z

我收到此警告:varargs方法的无变量调用,最后一个参数的参数类型不精确;

这是我收到警告的示例代码。

Class aClass = Class.forName(impl);
Method method = aClass.getMethod("getInstance", null);
item = (PreferenceItem) method.invoke(null, null);

警告:

警告:最后一个参数的参数类型不精确的varargs方法的无变量调用; 转换为java.lang.Class进行varargs调用 强制转换为java.lang.Class []进行非可变参数调用并禁止显示此警告 方法method = aClass.getMethod(“ getInstance”,null);

请帮我解决这个问题

trans by 2020-07-13T08:38:56Z

rmi-j中的非法远程方法

这是我第一次使用Java Rmi *。 我有一个自定义类,该类扩展了UnicastRemoteObject,并实现了一个远程扩展的接口。 我认为我已经在类中正确实现了接口的方法,但是当我尝试运行代码时仍然得到IllegalArgumentException(这是关于没有参数的方法)。

jvm声称遇到了非法的远程方法,但是该方法及其实现对我来说似乎还不错。

除了错误地实现或调用方法之外,是否还有其他原因导致此异常发生?


这是堆栈跟踪:

SEVERE: null
java.rmi.server.ExportException: remote object implements illegal remote interface; nested exception is:
        java.lang.IllegalArgumentException: illegal remote method encountered: public abstract java.lang.String Node.getId()
        at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
        at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source)
        at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source)
        at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source)
        at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source)
        at NodeImpl.<init>(NodeImpl.java:30)
        at NodeLauncher.main(NodeLauncher.java:11)
Caused by: java.lang.IllegalArgumentException: illegal remote method encountered: public abstract java.lang.String Node.getId()
        at sun.rmi.server.Util.checkMethod(Unknown Source)
        at sun.rmi.server.Util.getRemoteInterfaces(Unknown Source)
        at sun.rmi.server.Util.getRemoteInterfaces(Unknown Source)
        at sun.rmi.server.Util.createProxy(Unknown Source)
        ... 7 more

这是界面:

import java.rmi.*;
import java.util.LinkedList;

interface Node extends Remote
{
    public boolean isAlive();

    public LinkedList<NodeImpl> getLeafNodes();

    public LinkedList<NodeImpl> getNeighborhoodList();

    public String [] getRoutingTable();

    public NodeImpl initiation(String credentials,Object application);

        public String route(String message,String key);

        public void inform(byte [] id);

        public String getId();

        public boolean isConnected();

        public void applicationClose();

        public boolean distanceMeasure();
}

这是该类的构造函数:

public NodeImpl() throws RemoteException
    {
        super();
        l=4;
        M=1;
        nodeId=new byte [16];
        Random r=new Random();
        r.nextBytes(nodeId);
        leafNodes=new LinkedList<NodeImpl>();
        connected=false;
        ng=new NodeGUI(this);

        for(int i=0;i<l;i++)
        {
            leafNodes.add(null);
        }

        neighborhoodList=new LinkedList<NodeImpl>();
        anyNodeWhoAnswered=new LinkedList<byte []>();
        it=new InformingTimer(this);
        Thread informingTimerThread=new Thread(it);
        informingTimerThread.start();

        try 
        {
            Naming.rebind("rmi://" + "localhost" + ":1099/"+nodeId, this);
        }
        catch (Exception ex) 
        {
            Logger.getLogger(NodeImpl.class.getName()).log(Level.SEVERE, null, ex);
        }

        bootstrap();
    }
trans by 2020-07-13T04:51:09Z

Java-Android Studio TransformException:错误:任务':app:transformClassesWithDexForDebug'的执行失败

当我尝试使用Android Studio运行应用程序时,出现以下异常:

错误:任务':app:transformClassesWithDexForDebug'的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'command'C:\ Program Files \ Java \ jdk1.8.0_05 \ bin \ java.exe''的退出值非零2

trans by 2020-07-13T04:44:36Z

java-DTO模式:在两个对象之间复制属性的最佳方法

在我的应用程序体系结构中,我通常将对象或对象列表从数据访问层通过服务层发送到Web层,其中这些对象从DAO对象转换为DTO对象,反之亦然。 Web层无法访问DAO对象,并且DAO层不使用DTO。

为了演示,我通常将代码编写为:

@Transactional(readOnly = true)
public List<UserDTO> getAllUserAsUserDTO() {
    List<UserDTO> userDTOs = new ArrayList<UserDTO>();

    for(User user : getAllUser()) {
        userDTOs.add(constructUserDTO(user));
    }

    return userDTOs;
}

private UserDTO constructUserDTO(User user) {
    UserDTO userDTO = new UserDTO();
    userDTO.setFullName(user.getFullName());
    userDTO.setId(user.getId());
    userDTO.setUsername(user.getUsername());
    userDTO.setRole(user.getRole());
    userDTO.setActive(user.isActive());
    userDTO.setActiveText(user.isActive() ? "Active" : "Inactive");
    return userDTO;
}

这里的用户是数据库实体:

@javax.persistence.Entity
@Table(name = "USER")
public class User extends Entity {

    @Transient
    private static final long serialVersionUID = -112950002831333869L;

    private String username;
    private String fullName;
    private boolean active;
    private String role;
    // other fields

    public User() {
        super();
    }

    @NaturalId
    @Column(name = "USERNAME", nullable = false)
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Column(name = "FULL_NAME")
    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    @Column(name = "ACTIVE", nullable = false)
    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    @Column(name = "ROLE")
    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }
}

这是UserDTO:

public class UserDTO extends BaseDTO {

    private static final long serialVersionUID = -3719463614753533782L;

    private String username;
    private String fullName;
    private String role;
    private String activeText;
    private Boolean active;
    //other properties

    public UserDTO() {
        super();
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getActiveText() {
        return activeText;
    }

    public void setActiveText(String activeText) {
        this.activeText = activeText;
    }

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }
}

所以我想知道这是否是在两个对象之间复制属性的唯一方法。 我想我不确定。 另外,我使用的是lambdaj,因此该API中是否有一种方法可以复制所有这些属性以创建其他对象的列表?

这个主题听起来可能是主观的,但是我真的想从您的专家那里了解在最大字段具有相同字符串的情况下,如何将对象从一种形式转换为另一种形式。

trans by 2020-07-13T04:07:24Z

如何使用J在Selenium WebDriver中选择一个下拉值

是selenium的新手,目前正在使用selenium webdriver,我想从下拉列表中选择一个值。id = periodId和选项很多,因为我试图选择“最近52周”。

这是HTML代码:

<select id="periodId" name="period" style="display: none;">
    <option value="l4w">Last 4 Weeks</option>
    <option value="l52w">Last 52 Weeks</option>
    <option value="daterange">Date Range</option>
    <option value="weekrange">Week Range</option>
    <option selected="" value="monthrange">Month Range</option>
    <option value="yeartodate">Year To Date</option>
</select>

请建议我一些单击下拉菜单的方法。

我尝试使用上面的示例行,但出现错误,例如Element当前不可见,因此可能无法与之交互命令持续时间或超时:32毫秒下拉值是jquery multiselect窗口小部件格式。

trans by 2020-07-13T01:50:42Z

java-在Eclipse中查找函数的所有匹配项

在Eclipse中,如何找到Java应用程序中函数的所有用法? 快捷方式是什么?

我尝试使用Ctrl + H按方法搜索,但它返回的所有具有相同名称的方法。

trans by 2020-07-13T01:38:58Z

Java:三元组,无收益。 (用于方法调用)

我想知道是否有可能进行三元运算但不返回任何东西。

如果用Java无法实现,那么是否可以使用其他语言呢?

name.isChecked() ? name.setChecked(true):name.setChecked(false);
trans by 2020-07-12T23:39:50Z

为什么其他方法可以是“静态的”,但构造函数不能?

我不明白为什么主要方法必须是静态的。 我了解静态变量,但是静态方法对我来说很难理解。 是否存在静态方法,以便可以在不会彼此冲突的两个不同类中创建两个具有相同名称的方法?

另外,我不明白为什么我不能创建静态构造函数。

谁能帮助解释这个概念?

trans by 2020-07-12T21:58:43Z

类-Java中的抽象变量?

我来自c#,这很容易而且可能。

我有以下代码:

public abstract class clsAbstractTable {

    public abstract String TAG;
    public abstract void init();

}

但是Eclipse告诉我我使用了非法的修饰符。

我有这个课:

public class clsContactGroups extends clsAbstractTable {


}

我希望以这种方式定义变量和方法,以便Eclipse提示我,我没有实现抽象变量和方法。

我如何定义我的抽象类,以便提示我实现抽象?

编辑1

我将为不同的数据库表创建不同的类。 每个类都应具有自己的TABLENAME变量,也不例外。 每次创建扩展抽象类的新类时,都必须确保此变量是静态的。

然后在抽象类中,我将有一个方法,例如:init();

如果在此init()方法中我调用TABLENAME,则它应该从子类中获取值。

这样的事情也应该解决

String tablename=(clsAbstract)objItem.TABLENAME;
// where objItem can be any class that extended clsAbstract;

编辑2

我想要在每个类中定义的常量(静态),其名称以抽象的形式定义。

  • 我抽象地定义了变量TABLE NAME,但未提供任何值。
  • 我创建了一个clsContactGroups,应该提示我实现TABLENAME,这是在其中获取一些数据的地方。 例如:TABLENAME =“ contactgroups”;
  • 我创建第二个类clsContacts,应提示我实现TABLENAME,这是在其中获取一些数据的地方。 例如:TABLENAME =“ contacts”;
    等等...
trans by 2020-07-12T21:52:02Z

java-如何禁用一个类或整个包的记录器?

我正在使用apache.commons.logging,现在我想使用SimpleLog实现,但是当更改级别时,库中的记录器就会出现。 我要关闭它。有没有一种简单的方法可以更改整个软件包的日志级别(log4j可以做到这一点)吗?
我试图设定

org.apache.commons.logging.simplelog.log.foo =致命

在simplelog属性文件中禁用foo logger(将其设置为致命即可),但它不起作用。 (foo是显示在输出中的记录器的名称:[INFO] foo-消息)。

trans by 2020-07-12T21:39:07Z

java-使用GSON反序列化通用类型

我在Android应用程序(带有Gson库)中实现Json反序列化存在一些问题

我已经上了这样的课

public class MyJson<T>{
    public List<T> posts;
}

反序列化的调用是:

public class JsonDownloader<T> extends AsyncTask<Void, Void, MyJson<T>> {
...
protected MyJson<T> doInBackground(Void... params) {
  ...
    Reader reader = new InputStreamReader(content);
    GsonBuilder gson = new GsonBuilder();
    Type collectionType = new TypeToken<MyJson<T>>() {}.getType();
    result = gson.create().fromJson(reader, collectionType);
  ...
  }
}

问题是调用后的result.posts列表包含一个LinkedTreeMap对象数组(具有正确的值,因此问题是反序列化)而不是MyJson对象。 当我使用MyObject而不是T时,一切运行正常并且MyObject是正确的。

那么,有什么方法可以在不创建自定义反序列化器的情况下实现反序列化调用?

trans by 2020-07-12T20:12:33Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共417页