小编rya*_*dlf的帖子

Android:ArrayList将项目移动到位置0

我有一个ArrayList,我需要确保一个特定的项目在0位置,如果不是,我需要将它移动到那里.该项目上有一个isStartItem布尔值,所以我可以很容易地找到我需要在0位置的特定项目,但是如何将其移动到正确的位置呢?

我假设我需要使用这样的东西:

for(int i=0; i<myArray.size(); i++){    
    if(myArray.get(i).isStartItem()){
        Collection.swap(myArray, i, 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用......

collections android swap arraylist

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

屏幕上的Android位置元素

我有一个列表视图,当用户按下按钮时,我想收集按钮的坐标,并在屏幕上放置一个我在其顶部充气的编辑文本.当用户点击屏幕上的任何其他位置时,edittext将消失,它将触发一个方法,该方法使用用户在框中输入的数据.我该怎么做这样的事情?我想要类似于QuickActions的东西,但不是那么具有侵入性.有人能指出我至少如何获得按钮坐标?

android window

5
推荐指数
1
解决办法
9658
查看次数

使用JSTL从ArrayList获取对象索引

是否可以使用JSTL从arraylist获取"row"索引?

<c:forEach items="${searchResults}" var="contact">
<div style="padding: 5px;">
${contact.firstName} ${contact.lastName}
<br>
${contact.primaryPhone}
</div>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

我的目的是设置一个包含每行上每个项ID的超链接,这样用户就可以单击并显示一个弹出窗口或另一个页面,只需从arraylist中轻松检索单个对象,而无需返回数据库并设置另一个会话对象等.

jsp jstl arraylist

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

Javascript自定义对象是通用的

我试图最大限度地重用一些代码.在我的自定义javascript对象上(为了简单起见,我将使用PhoneNumber作为示例),我正在设置这样的原型函数:

var Map = {
    write: function() {
        alert('My object is ' +this);
    }
};

function PhoneNumber(number) {
    this.number = number;
}

PhoneNumber.prototype = Map;

//I can call the write function like so
var phoneObject = new PhoneNumber('1234567894');
phoneObject.write(); //ALERT My Object is Object{number:'1234567894'}
Run Code Online (Sandbox Code Playgroud)

一切正常,除了由于某种原因它将我的电话号码对象变成通用对象而不是保持其PhoneNumber构造函数.如果我实际上将write函数放在这样的对象原型中,它就可以完美地工作.

function PhoneNumber(number) {
    this.number = number;
}

PhoneNumber.prototype.write = function() {
    alert('My object is ' +this);
}

var phoneObject = new PhoneNumber('1234567894');
phoneObject.write(); //ALERT My object is PhoneNumber{number:'1234567894'}
Run Code Online (Sandbox Code Playgroud)

但我真的不必这样做,因为多个对象使用write函数,它们都执行完全相同的方式.如何避免我的对象转换为通用构造函数?显然我正在以错误的方式在原型上设置Map对象,但是非常重要的是我不必将代码直接从Map复制到对象原型函数中.有任何想法吗?

javascript

5
推荐指数
1
解决办法
3314
查看次数

如何避免使用try ... catch块

我理解这些是必要的......当然要编写正确的代码,但是有没有一种设计模式可以帮助避免在类中重复尝试... catch块?例如,我编写了一个抛出5个不同异常的特定类.

public void iterateComparatorResults(ArrayList<ComparatorValue> results) throws IOException, IllegalArgumentException, IntrospectionException, IllegalAccessException, InvocationTargetException {
    Iterator<ComparatorValue> iterator = results.iterator();
    for(int i=0; i<results.size(); i++) {
        //Set data variables.
        setBeans(results.get(i).getClientBean(), results.get(i).getServerBean());
        setValues(results.get(i).getClientValue(), results.get(i).getServerValue());

        if(results.get(i).isMatch()) {
            //Data matches.
            runIteratorTrueAction();
        } else if(results.get(i).getInnerBeans() != null){
            //Value is a nested bean. Iterate again.
            ArrayList<ArrayList<ComparatorValue>> innerResults = results.get(i).getInnerBeans();
            for(int r=0; r<innerResults.size(); r++) {
                iterateComparatorResults(innerResults.get(r));
            }

        } else {
            //Data does not match.
            runIteratorFalseAction();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我引用这个特定的方法是任何其他类,我必须使用看起来像这样的try catch块.

try {
    beanComparator.setIteratorFalseAction(falseAction);
                beanComparator.iterateComparatorResults(beanComparator.compareBeans(contact, compareContact));
} catch (IllegalArgumentException e) { …
Run Code Online (Sandbox Code Playgroud)

java try-catch

5
推荐指数
2
解决办法
6424
查看次数

Guice如何填充带注释的字段

为了我自己的教育,我想构建一个简单的依赖注入框架,其功能类似于Google的Guice.因此,当加载类时,它会使用工厂类中的数据预填充带注释的字段.

我在编译时使用Reflections来扫描我的所有工厂类,并将这些类保存在静态列表中,以便在加载我的类时,我可以参考我的工厂,然后我可以扫描方法并返回相应的数据.

我坚持的地方是如何预先填充我的类注释字段,而不实际在实际的类中进行任何工作.换句话说,当加载类时,我需要能够确定是否有任何字段使用特定注释进行注释,如果是,则从工厂类中检索值.

是否有某种方法在加载之前对类执行反射,预先填充特定字段,然后返回要使用的类的实例?

我可以扩展所有需要依赖注入的类和一个完成所有这些工作的基类,但我认为必须有一个更好的方法,以便我可以简单地使用@Inject(或我决定使用的任何注释来说这个领域需要DI)并"神奇地"完成所有工作.

java annotations dependency-injection guice

5
推荐指数
1
解决办法
866
查看次数

Postfix 与 Apache James

两者有区别吗?他们执行相同的任务吗?

我有点困惑,因为我对电子邮件服务器不太熟悉,但我正在尝试构建一个主要用于发送事务电子邮件的服务器,Java并且关于Apache James. 目前我确实可以正常运行它,但是我在DKIM正常使用它时遇到了问题,这种挫败感让我考虑进行更改。

那么……Postfix合适的Apache James替代品吗?Postfix除了从 发送电子邮件之外,我还需要其他什么吗Java

java postfix-mta james

5
推荐指数
1
解决办法
3167
查看次数

IE> = 8的原型Event.StopPropagation

我理解为IE处理event.stopPropagation的正确方法是

if(event.stopPropagation) {
    event.stopPropagation();
} else {
    event.returnValue = false;
}
Run Code Online (Sandbox Code Playgroud)

但是有可能对Event进行原型设计,这样我每次使用stopPropagation时都不需要进行检查吗?

这个问题似乎很有帮助:IE8中的JavaScript事件原型然而我并不完全理解接受的答案以及它如何成为一个基本上可以设置和忘记的原型.

javascript

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

Javascript 用单引号设置属性

似乎默认情况下 javascript 使用双引号附加属性。但是,在我的情况下,我试图将 json 字符串附加到数据属性,而双引号会干扰 json。

var json = {"foo":"bar"}
var el = document.getElementById("someElement");
el.setAttribute("data-json", JSON.stringify(json)); //<div data-json="{"foo":"bar"}">
Run Code Online (Sandbox Code Playgroud)

如何使用单引号附加属性?

javascript

5
推荐指数
1
解决办法
1580
查看次数

使用实现中声明的接口中未定义的方法

我有一个由接口定义的类

public interface Test {
    void testMethod();
}

Test test = new TestImpl();

public class TestImpl implements Test {
    @Override
    public void testMethod() {
         //Nothing to do here
    }

    public void anotherMethod() {
        //I am adding this method in the implementation only.
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何调用anotherMethod?

test.anotherMethod(); //Does not work.
Run Code Online (Sandbox Code Playgroud)

我希望能够在实现中定义一些方法,因为在我的生产代码中,Test接口涵盖了相当广泛的类,并由多个类实现.我使用实现中定义的方法来设置单元测试中DI框架未涵盖的依赖关系,因此方法从实现变为实现.

java methods interface upcasting

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