小编Cyr*_* Ka的帖子

如何获得枚举的可能项目数?

是否有内置的方法来获取Enum的项目数量,如Myenum.length,

或者我必须自己实现一个功能int size()硬编码元素的数量?

java enums

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

如何在两行中显示列表?

我有一个项目列表,我想要适合垂直约束的空间:

<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
    <li>Six</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

由于我不希望列表具有超过特定高度,但我可以自由地将其水平扩展,我想将列表分成列,如下所示:

One    Two     Three
Four   Five    Six
Run Code Online (Sandbox Code Playgroud)

或者,(在我的情况下,顺序并不重要)

One    Three   Five
Two    Four    Six
Run Code Online (Sandbox Code Playgroud)

css属性column-count允许将列表分成列,但它只接受固定数量的列.我不知道我将拥有的项目数量(它可以从1到超过40),所以如果我将列数设置为3,任何超过6项的列表都会太高,并且如果只有4个项目,那么只有第一列有两个项目,看起来不均匀.

所以,理想情况下我需要一个row-count属性,但它不存在.我想我也可以在Javascript中做到这一点,但我正在寻找一个只有CSS的解决方案.

我尝试了一些东西:float:left每一个li都把列表放在一行.要将它分成两行,我需要应用于float:leftN/2元素.我不知道该怎么做.

我也知道我可以通过将其分成多个ul,每个都有两个li,以及float:left它们来实现,但我想避免将HTML弄为完全呈现的东西.

有人有解决这个问题的方法吗?

编辑:我想我在解释我的要求时并不清楚.我希望将列表分类到列中,而不知道我将要拥有多少项,因此我将始终有两行.

所以例如有7个项目,我希望:

One    Two     Three   Four
Five   Six     Seven
Run Code Online (Sandbox Code Playgroud)

并有3个项目:

One    Two
Three  
Run Code Online (Sandbox Code Playgroud)

css css3 html-lists

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

从存储库中删除git corrupt blob

我有一个存储库中的损坏对象的情况.

$ git push
...
fatal: loose object 95b6a826cadae849f4932a71d6735ab6ceb47cab (stored in .git/objects/95/b6a826cadae849f4932a71d6735ab6ceb47cab) is corrupt
...
Run Code Online (Sandbox Code Playgroud)

而且我知道这个对象是一个与旧提交相关联的blob:

$ git fsck --full
Checking object directories: 100% (256/256), done.
broken link from  tree 27e8e7d5b94c1dad5410a8204089828a167a0eaf
            to    blob 95b6a826cadae849f4932a71d6735ab6ceb47cab 
Run Code Online (Sandbox Code Playgroud)

我已经完成了从常见问题解答中恢复blob经典步骤,但似乎没有其他任何我可以找到的副本(我独自工作并且没有推到遥控器一段时间所以它不在那里)所以我无法恢复它.

这个blob实际上是一个文件的第一个版本,从那时起经过多次修改.我很好地丢失了有关该版本文件的信息.所以我想将它从指向它的提交中删除.我怎样才能做到这一点?

git corrupt

7
推荐指数
1
解决办法
1604
查看次数

角度表达式中的多个语句

我正在玩Angularjs,可能我在滥用它.我使用分号在这样的角度表达式中有几个语句(jsFiddle):

<tr ng-repeat="i in [1, 2, 3, 4]">
  <td>i = {{ m = k; k = j; j = i + 1; i}}</td>
  <td>j = {{j}}</td>
  <td>k = {{k}}</td>
  <td>m = {{m}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

起初,我认为在计算之前k会有值,但显然它不会像这样工作.结果是:ji+1

i = 1   j = 2   k = 2   m = 2
i = 2   j = 3   k = 3   m = 3
i = 3   j = 4   k = 4   m = 4
i = 4   j …
Run Code Online (Sandbox Code Playgroud)

angularjs

7
推荐指数
1
解决办法
4390
查看次数

实现类的接口:接口到接口的类

嗨,我是一个初学者,我试图实现一个接口的类.该接口扩展了另一个接口.我正在使用方法来运行列表并干扰它,这两个接口是分开的.

这两个接口在每个单独的文件中,但是一切都在同一个包中,希望这是正确的.

我收到以下错误:

从类doublelinkedlist: interface expected here

从界面A: doublelinkedlist.A is already defined in doublelinkedlist, interface expected here

从界面B: doublelinkedlist.B is already defined in doublelinkedlist

代码类:

package doublelinkedlist;

import java.util.*;

public class Doublelinkedlist<T> implements A<T>
{
Run Code Online (Sandbox Code Playgroud)

代码接口A :(在名为A.java的单独文件中)

package doublelinkedlist;

import java.util.Iterator;


public class A<T> { // am I supposed to have a class here? or just have the interface?

  public interface A<T> extends B<T> 
  {
Run Code Online (Sandbox Code Playgroud)

代码接口B :(在名为B.java的单独文件中)

package doublelinkedlist;

public class B<T> {

  public interface B<T> extends Iterable<T> 
  {
Run Code Online (Sandbox Code Playgroud)

这个类中的两个接口没有代码,所以我不明白为什么我得到一个错误,说它已经定义了.有人知道吗?

java interface

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

使用Guava时,只获取集合视图的元素,当有多个元素时,无一例外

我想要两个功能.给定Collection时,第一个将返回满足谓词的元素.谓词可能非常昂贵,结果不会完全消耗,所以我认为最好的做法是返回一个视图.因此,一旦实现,我的方法只是封装了Guava的Collections2.filter:

Collection<MyElement> getInterestingElements(Collection<MyElement> allElements) {
    return Collections2.filter(allElements, new Predicate<MyElement>() {
        @Override
        public boolean apply(MyElement element) {
            return element.isInteresting();  // call expensive function
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

(班级名称已被更改以保护无辜者)

我的第二个函数将调用第一个函数并返回:

  • 如果集合包含零个或多个元素,则返回null.
  • 如果集合只包含一个元素,则集合中唯一的元素.

也就是说,当且仅当此集合是单个集合时,此函数才会返回集合的内容.

一个天真的实现将是:

MyElement getElementIfOnlyInterestingOne(Collection<MyElement> allElements) {
    Collection<MyElement> interestingElements = getInterestingElements(allElements);

    if (interestingElements.size() != 1){
        return null;
    }

    return Iterables.first(interestingElements, null);
}
Run Code Online (Sandbox Code Playgroud)

但是对size()意志的调用(我认为)会评估底层集合的所有元素的谓词,当我只对第一个元素感兴趣时,这是不可接受的.

我可以使用Iterables.getOnlyElement()但如果集合不是单例,这会引发异常,这应该经常发生,我认为依靠异常来做这件事是不好的做法.

所以我必须手动迭代,在变量中存储第一个元素,如果有第二个元素则返回null.

我的问题是:这很好,但我不是在重新发明轮子吗?番石榴有很多魔力,这个问题必须通过某个isSingletongetSingleElementOrNull某个地方来解决:)

java guava

3
推荐指数
2
解决办法
5967
查看次数

链接字符串的子串

我想只获得以下链接字符串的实际链接:

String link = <a href="http://www.facebook.com/wwwausedu" target="_blank" class="btnFacebook">Link to Facebook</a>
Run Code Online (Sandbox Code Playgroud)

结果应该只是 www.facebook.com/wwwausedu

我尝试了以下但它不起作用:

TEMP = link.substring(link.indexOf("http://")+1, tmp.lastIndexOf("\""));
Run Code Online (Sandbox Code Playgroud)

java string

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

正则表达式解析java中的字符串

我正在使用Java.我需要使用正则表达式解析以下行:

<actions>::=<action><action>|X|<game>|alpha
Run Code Online (Sandbox Code Playgroud)

这应该给我的标记<action>,<action>,X<game>

什么样的正则表达式会起作用?

我正在尝试...... "<[a-zA-Z]>"但是这并没有照顾Xalpha.

java regex

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

反序列化内部 JSON 对象

我有一个 POJO 类

Class Pojo {
String id;
String name;
//getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的json

{
    "response" : [
        {
            "id" : "1a",
            "name" : "foo"
        }, 
        {
            "id" : "1b",
            "name" : "bar"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Jackson ObjectMapper 进行反序列化。List<Pojo>在不创建任何其他父类的情况下如何获得?

如果不可能,是否可以获取Pojo仅包含 json 字符串第一个元素的对象,即在本例中为id="1a"and name="foo"

java json jackson

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

在Java中的Import语句中使用*

有人可以用Java解释我的import语句.有些导入有*后缀,有些则没有.这两者有什么区别?在import语句中使用*是否会导入所有类?

看到这里导入

在这里他们已经说过,尽管import语句似乎是嵌套的,但事实并非如此.有人可以详细解释一下吗?

java import

0
推荐指数
1
解决办法
3589
查看次数

标签 统计

java ×7

angularjs ×1

corrupt ×1

css ×1

css3 ×1

enums ×1

git ×1

guava ×1

html-lists ×1

import ×1

interface ×1

jackson ×1

json ×1

regex ×1

string ×1