小编Amy*_*y B的帖子

Java代码中的"循环:".这是什么,为什么要编译?

这段代码让我盯着我的屏幕几分钟:

loop:
for (;;) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

(第137行)

我以前从未见过这个,我不知道Java有一个"循环"关键字(NetBeans甚至不像关键字那样对它进行着色),并且它可以用JDK 6编译得很好.

解释是什么?

java labeled-statements

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

用省略号截断字符串的理想方法

我相信我们所有人都在Facebook状态(或其他地方)看过省略号,然后点击"显示更多"并且只有另外两个字符左右.我猜这是因为懒惰的编程,因为肯定有一种理想的方法.

我将细长的字符[iIl1]称为"半字符",但是当它们几乎不隐藏任何字符时,这并不会使省略号看起来很傻.

有理想的方法吗?这是我的:

/**
 * Return a string with a maximum length of <code>length</code> characters.
 * If there are more than <code>length</code> characters, then string ends with an ellipsis ("...").
 *
 * @param text
 * @param length
 * @return
 */
public static String ellipsis(final String text, int length)
{
    // The letters [iIl1] are slim enough to only count as half a character.
    length += Math.ceil(text.replaceAll("[^iIl]", "").length() / 2.0d);

    if (text.length() > length)
    {
        return text.substring(0, length - …
Run Code Online (Sandbox Code Playgroud)

java ellipsis

56
推荐指数
7
解决办法
4万
查看次数

"(function(){})()"和"(function(){}())"在JavaScript中功能相同吗?

均低于警戒这些代码块foo,然后bar.唯一的区别是})()}()).

代码1:

(function()
{
    bar = 'bar';
    alert('foo');
})();

alert(bar);
Run Code Online (Sandbox Code Playgroud)

代码2:

(function()
{
    bar = 'bar';
    alert('foo');
}());

alert(bar);
Run Code Online (Sandbox Code Playgroud)

除了语法之外,还有什么区别吗?

javascript function

55
推荐指数
3
解决办法
5901
查看次数

绘制声音的音高(频率)

我想将声音的音高绘制成图形.

目前我可以绘制幅度.下图是由返回的数据创建的getUnscaledAmplitude():

替代文字

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream(file)));
byte[] bytes = new byte[(int) (audioInputStream.getFrameLength()) * (audioInputStream.getFormat().getFrameSize())];
audioInputStream.read(bytes);

// Get amplitude values for each audio channel in an array.
graphData = type.getUnscaledAmplitude(bytes, 1);


public int[][] getUnscaledAmplitude(byte[] eightBitByteArray, int nbChannels)
{
    int[][] toReturn = new int[nbChannels][eightBitByteArray.length / (2 * nbChannels)];
    int index = 0;

    for (int audioByte = 0; audioByte < eightBitByteArray.length;)
    {
        for (int channel = 0; channel < nbChannels; channel++)
        {
            // Do the byte to sample conversion. …
Run Code Online (Sandbox Code Playgroud)

java audio fft frequency pitch

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

使用Hibernate执行"IN"查询

我在String中有一个ID列表,并希望使用Hibernate来获取具有这些ID的行.TrackedItem是一个Hibernate/JPA实体(对不起,如果我在这里混淆命名).

我的代码是:

String idsText = "380, 382, 386";
ArrayList<Long> ids = new ArrayList<Long>();

for (String i : idsText.split(","))
{
    ids.add(Long.getLong(i));
}

List<TrackedItem> items = TrackedItem.find("id IN (?)", ids).fetch();
Run Code Online (Sandbox Code Playgroud)

但那失败了: JPAQueryException occured : Error while executing query from models.TrackedItem where id IN (?): java.util.ArrayList cannot be cast to java.lang.Long

如何使IN零件工作?谢谢.

java orm hibernate jpa jpql

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

学习Python来自PHP

我的动态语言体验仅仅是PHP.我现在想学习Python以扩大我的职业机会,因为我喜欢编程.:)

在学习Java时,我使用了一个站点(现在丢失了URL /真实名称),类似于"用于PHP开发人员的Java",它在页面的一侧包含PHP代码,另一方面用于执行Java代码的Java代码.一样.是否有类似Python的网站?

还有其他建议吗?

谢谢

php python

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

如何从实体获取存储库?

我有一个实体,调用Game了一个名为的相关存储库GameRepository:

/**
 * @ORM\Entity(repositoryClass="...\GameRepository")
 * @ORM\HasLifecycleCallbacks()
 */
class Game {
    /**
     * @ORM\prePersist
     */
    public function setSlugValue() {
        $this->slug = $repo->createUniqueSlugForGame();
    }
}
Run Code Online (Sandbox Code Playgroud)

在prePersist方法中,我需要确保Game的slug字段是唯一的,这需要数据库查询.要进行查询,我需要访问EntityManager.我可以从GameRepository中获取EntityManager.那么:我如何从游戏中获取GameRespository?

symfony doctrine-orm

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

Firefox不会提交JavaScript创建的表单

当事件发生时,我需要创建一个带有少量输入的表单.我的代码如下.

Chrome提交正常 - 警告框显示和页面更改.

Firefox不起作用 - 警告框显示但页面保持不变.如何让Firefox提交表单?

var idsInput = document.createElement('input');
idsInput.name = 'itemIds';
idsInput.value = ids;

var quantityInput = document.createElement('input');;
quantityInput.name = 'quantity';
quantityInput.value = 1;

var authTokenInput = document.createElement('input');
authTokenInput.name = 'authenticityToken';
authTokenInput.value = '${session.getAuthenticityToken()}';

var submitInput = document.createElement('input');
submitInput.type = 'submit';
submitInput.value = 'anything';

var form = document.createElement('form');;
form.action = '@{Checkout.setItemsQuantityHandler}';
form.method = 'POST';
form.elements[0] = idsInput;
form.elements[1] = quantityInput;
form.elements[2] = authTokenInput;
form.elements[3] = submitInput;
form.submit();

alert('after submit()'); // for debugging only
Run Code Online (Sandbox Code Playgroud)

javascript forms firefox3.6

14
推荐指数
2
解决办法
4285
查看次数

HTML页面中多个$(document).ready()的副作用(如果有的话)是什么?

我正在使用一个遵循MVC模式的Web应用程序框架(Symfony 1.3.6).

视图层由模板装饰器组成.模板文件还可能包含其他模板 - 这就是我的问题所在.

假设有一个页面(让我们称之为'主页'),它由几个模板组成 - (代码已经重构,因此'子模板'可以在其他页面上使用.

作为重构的结果,主模板使用的小模板(在我们的示例中为"主页")需要包含与jQuery相关的代码.

让我们说主页模板使用2'子模板:

  • 模板A.
  • 模板B.

假设模板A包含以下代码段:

<div id="field1">This is field 1</div>
<script type="text/javascript">
$(document).ready(function(){
   $('#field1').click(function(){
      alert('Field 1 clicked!');
   });
</div>
</script>
Run Code Online (Sandbox Code Playgroud)

假设模板B包含以下代码段:

<div id="field2">This is field 2</div>
<script type="text/javascript">
$(document).ready(function(){
   $('#field2').click(function(){
      alert('Field 2 clicked!');
   });
</div>
</script>
Run Code Online (Sandbox Code Playgroud)

现在模板'主页'看起来像这样:

<html>
  <head>
    <title>Multiple jQuery snippet test</title>
    <script src="path_to_jquery"></script>
 </head>
 <body>
   <div>include_template('template A')</div>
   <div>include_template('template B')</div>
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我试过这个 - 并且令我惊讶的是,它在合并的最终页面('主页)中只有一个$(文档).ready().

我不确定我的浏览器(Firefox)或Web框架(Symfony)是否在幕后做了一些'清理'.

所以我的问题是,如果你想将jQuery功能重构为'可重复使用的小模板',可以重复使用以在不同的页面中提供相同的功能,那么最好的方法是什么?

顺便说一下,我希望没有人建议写一个jQuery插件,因为那不是我所说的.

jquery document-ready

10
推荐指数
2
解决办法
1261
查看次数

org.hibernate.hql.ast.QuerySyntaxException:未映射TABLE NAME

我有两个模型,Item和ShopSection.他们有多对多的关系.

@Entity(name = "item")
public class Item extends Model
{
    @ManyToMany(cascade = CascadeType.PERSIST)
    public Set<ShopSection> sections;
}

@Entity(name = "shop_section")
public class ShopSection extends Model
{
    public List<Item> findActiveItems(int page, int length)
    {
        return Item.find("select distinct i from Item i join i.sections as s where s.id = ?", id).fetch(page, length);
    }
}
Run Code Online (Sandbox Code Playgroud)

findActiveItems 是为了找到一个部分中的项目,但我收到此错误:

org.hibernate.hql.ast.QuerySyntaxException: Item is not mapped [select distinct i from Item i join i.sections as s where s.id = ?]
        at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180)
        at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:111)
        at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93)
        at …
Run Code Online (Sandbox Code Playgroud)

java many-to-many hibernate jpa playframework

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