小编Sam*_*uel的帖子

按属性排序自定义对象的ArrayList

我读到了使用Comparator对ArrayLists进行排序,但在所有人们使用的例子中compareTo,根据一些研究,这是一个字符串的方法.

我想通过它们的一个属性对自定义对象的ArrayList进行排序:Date对象(getStartDay()).通常我会比较它们item1.getStartDate().before(item2.getStartDate())所以我想知道我是否可以这样写:

public class CustomComparator {
    public boolean compare(Object object1, Object object2) {
        return object1.getStartDate().before(object2.getStartDate());
    }
}

public class RandomName {
    ...
    Collections.sort(Database.arrayList, new CustomComparator);
    ...
}
Run Code Online (Sandbox Code Playgroud)

java sorting date comparator

1093
推荐指数
18
解决办法
104万
查看次数

日期对象到日历[Java]

我有一个类电影我有一个开始日期,持续时间和停止日期.开始和停止日期是日期对象(私有日期startDate ...)(这是一个分配,所以我不能改变它)现在我想通过将持续时间(以分钟为单位)添加到startDate来自动计算stopDate.

根据我的知识,使用Date的时间操作函数被弃用,因此不好的做法,但另一方面,我看不到将Date对象转换为日历对象的方法,以便操纵时间并将其重新转换为Date对象.有办法吗?如果有什么是最好的做法

java calendar date

67
推荐指数
4
解决办法
10万
查看次数

防止div占用100%的宽度

<div style="position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px;">

  <div style="
         border: 2px solid black;
         margin: 0 auto;
         text-align: center;
         padding: 3px;">

    Hello<br />Hola

  </div>

  <div style="
         border: 2px solid black;
         margin: 0 auto;
         text-align: center;
         padding: 3px;">

    Another Sentence

  </div>

</div>
Run Code Online (Sandbox Code Playgroud)

我有一个问题:内部div的边界覆盖整个页面的宽度,但我希望它们只构建其中的内容.如果我使用:display: inline边框分别构成每一行并重叠,这样就行不通 - 有人可以帮忙吗?

PS样式在原始文档中没有这样声明,而是在样式表中声明

html css

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

在对象的ArrayList中包含(Object o)的时间复杂度

正如标题所说,我想知道ArrayList的contains()方法的时间复杂度是多少.

java arraylist time-complexity

34
推荐指数
2
解决办法
4万
查看次数

无表格发送POST数据

我是否可以将一个字符串或另一条信息发送到另一个.php文件而不使用它[因此不是通过GET而是通过POST符合我所知道的]而不使用表单?

php post data-transfer

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

使用Java [接口/抽象类]

最近我决定看看Java,所以我还是很新的,也是OO编程的方法,所以我想在学习更多东西之前先做一些事情,(我想它永远不会很快从良好实践开始) ).

我现在正在编写一个2D游戏,但我认为我的问题适用于任何非平凡的项目.为了简单起见,我将从我的游戏中提供示例.

我有不同种类的僵尸,但它们都有相同的属性(x,y,健康,攻击等)所以我写了一个界面 Zombie,我实现了WalkingZombie,RunningZombie TeleportingZombie等.这是最好的事情吗?我最好用抽象课吗?还是超级?(我不打算部分实现函数 - 因此我选择了一个接口而不是一个抽象类)

我有一个类描述主角(Survivor),因为它非常大,我想用不同的函数编写一个接口,这样我就可以轻松地看到并分享它的结构.这是好习惯吗?还是只是浪费空间和时间?

我希望这个问题不会被评为主观,因为我认为有经验的程序员不会对这种话题产生不同意见,因为接口/超类/抽象类的使用遵循逻辑规则,因此不仅仅是个人选择.

java abstract-class interface superclass

25
推荐指数
1
解决办法
3868
查看次数

快速方形双倍

我正在寻找最方便的方法(double d).到目前为止,我提出了两种方法:

1. d*d
2. Math.pow(d, 2)
Run Code Online (Sandbox Code Playgroud)

为了测试性能,我设置了三个测试用例,在每个测试用例中,我使用相同的种子为三种情况生成随机数,然后只计算循环100 000 000次的平方数.

在第一个测试案例中,使用random.nextDouble()第二种情况下使用random.nextDouble()*Double.MAX_VALUE和使用第三种 情况生成数字random.nextDouble()*Double.MIN_VALUE.

几次运行的结果(近似结果,总是有一些变化,使用java 1.8运行,在Mac OSX Mavericks上为java 1.6编译)

Approach | Case 1 | Case 2 | Case 3
---------•--------•--------•-------
    1    | ~2.16s | ~2.16s | ~2.16s
    2    | ~9s    | ~30s   | ~60s
Run Code Online (Sandbox Code Playgroud)

结论似乎是方法1更快,但Math.pow似乎表现得有些奇怪.

所以我有两个问题:

1为什么Math.pow这么慢,为什么它会对数字造成严重影响> 1甚至更糟< -1

2有没有办法提高性能超过我建议的方法1?我在考虑这样的事情:

long l = Double.doubleToRawLongBits(d);
long sign = (l & (1 << 63));
Double.longBitsToDouble((l<<1)&sign);
Run Code Online (Sandbox Code Playgroud)

但这是a)错误,和b)与方法1的速度相同.

java math performance multiplication

18
推荐指数
2
解决办法
4万
查看次数

禁止用户访问我网站的有效方法是什么?

我知道很多脚本处理IP禁令,IP范围禁令等.我试图制作一种方法,尽可能阻止用户.我提出了:

  • IP块
  • 设置cookie
  • 但是,如果用户具有动态并且不启用cookie,则这对他不会有太大作用.我不想阻止IP范围,因为我的大多数访客来自同一个城镇,我不想阻止无辜的人.
  • 为来自用户的多个变量(如浏览器和版本等)创建哈希值,并将它们添加到存储禁用用户列表或此类值的表中.

谢谢你的想法.

php http

15
推荐指数
2
解决办法
2584
查看次数

Linspace与范围

我想知道什么是更好的风格/更高效:

x = linspace(-1, 1, 100);
Run Code Online (Sandbox Code Playgroud)

要么

x = -1:0.01:1;
Run Code Online (Sandbox Code Playgroud)

matlab vector

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

如何存储实例方法

可能重复:
内存中的Java/C#方法表示

我想知道我是否在java中有一个对象,它是如何存储实例方法的?对象是否有指向它的实例方法的指针?

例:

public class MyObject {
 private int x;
 private int y;
 [..]
}
Run Code Online (Sandbox Code Playgroud)

如果我计划MyObject在内存中保留很多(例如,对象的一棵大树),如果除了x的getter和yi定义计算总和的实例方法,它会在内存方面产生显着差异吗?

我正在尝试解决问题,我应该添加更多实例方法或使用getter和setter在另一个类中进行计算.

java memory

14
推荐指数
3
解决办法
9298
查看次数