小编and*_*and的帖子

Java String有多少个字符?

我正在尝试Sphere Online Judge(SPOJ)的Next Palindrome问题,我需要找到一个高达一百万位整数的回文.我想过使用Java的函数来反转字符串,但它们是否允许String这么长?

java string

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

何时ConcurrentSkipListSet有用?

我刚刚在Java 6 API上看到了这个数据结构,我很好奇它何时会成为一个有用的资源.我正在攻读scjp考试,虽然我已经看过提到它的模拟考试题目,但我并没有在Kathy Sierra的书中看到它.

java collections concurrency data-structures

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

理解Java中的$格式字符串

 StringBuilder sb = new StringBuilder();
 // Send all output to the Appendable object sb
 Formatter formatter = new Formatter(sb, Locale.US);

 // Explicit argument indices may be used to re-order output.
 formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
 // -> " d  c  b  a"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么2附加到$?

java formatter

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

关于Java的字符串池的问题

考虑以下代码:

String first = "abc"; 
String second = new String("abc");
Run Code Online (Sandbox Code Playgroud)

使用new关键字时,Java会abc String再次创建吗?这会存储在常规堆还是String池中?多少人String在将s结尾String池?

java string string-pool

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

java.lang.IndexOutOfBoundsException:Source不适合dest

在以下代码中:

static void findSubsets (ArrayList<Integer> numbers, int amount, int index)
{
    ArrayList <Integer> numbersCopy = new ArrayList<Integer>(numbers.size());
    Collections.copy(numbersCopy, numbers);
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest
        at java.util.Collections.copy(Collections.java:548)
        at backtracking2.Main.findSubsets(Main.java:61)
Run Code Online (Sandbox Code Playgroud)

为什么?

java collections arraylist indexoutofboundsexception

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

解析yaml文件时出错:此处不允许映射值

我想将应用上传到Google App Engine:

我明白了

Error parsing yaml file:
mapping values are not allowed here
  in "/home/antonio/Desktop/ATI/climate-change/app.yaml", line 2, column 8 
Run Code Online (Sandbox Code Playgroud)

跑步时

./appcfg.py update /home/antonio/Desktop/ATI/climate-change
Run Code Online (Sandbox Code Playgroud)

使用此app.yaml文件:

application:climate-change
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app
Run Code Online (Sandbox Code Playgroud)

第2行,第8列对应于版本行.这有什么不对?顺便说一句,我在这里使用的是Ubuntu 12.04.

google-app-engine

65
推荐指数
6
解决办法
13万
查看次数

标记错误:java.util.regex.PatternSyntaxException,悬空元字符'*'

我正在使用以下格式split()标记分隔的字符串*:

name*lastName*ID*school*age
%
name*lastName*ID*school*age
%
name*lastName*ID*school*age
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码从名为"entrada.al"的文件中读取此内容:

static void leer() {

    try {
        String ruta="entrada.al";
        File myFile = new File (ruta);
        FileReader fileReader = new FileReader(myFile);

        BufferedReader reader = new BufferedReader(fileReader);

        String line = null;

        while ((line=reader.readLine())!=null){
            if (!(line.equals("%"))){
                String [] separado = line.split("*"); //SPLIT CALL
                names.add(separado[0]);
                lastNames.add(separado[1]);
                ids.add(separado[2]);
                ages.add(separado[3]);
            }
        }

        reader.close();
    }
Run Code Online (Sandbox Code Playgroud)

我得到了这个例外:

线程"main"中的异常java.util.regex.PatternSyntaxException:在索引0*附近悬挂元字符'*'

我的猜测是*原始文本文件中缺少一个年龄后导致了这种情况.我该如何解决这个问题?

java regex split tokenize

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

理解HashMap中equals和hashCode的工作原理

我有这个测试代码:

import java.util.*;

class MapEQ {

  public static void main(String[] args) {
   Map<ToDos, String> m = new HashMap<ToDos, String>();
   ToDos t1 = new ToDos("Monday");
   ToDos t2 = new ToDos("Monday");
   ToDos t3 = new ToDos("Tuesday");
   m.put(t1, "doLaundry");
   m.put(t2, "payBills");
   m.put(t3, "cleanAttic");
   System.out.println(m.size());
} }

class ToDos{

  String day;

  ToDos(String d) { day = d; }

  public boolean equals(Object o) {
      return ((ToDos)o).day == this.day;
 }

// public int hashCode() { return 9; }
}
Run Code Online (Sandbox Code Playgroud)

何时// public int hashCode() { return …

java equals hashmap hashcode

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

为什么在for循环的迭代部分不改变pre到post的增量会有所不同?

为什么这样呢

 int x = 2;
    for (int y =2; y>0;y--){
        System.out.println(x + " "+ y + " ");
        x++;
    }
Run Code Online (Sandbox Code Playgroud)

打印与此相同?

 int x = 2;
        for (int y =2; y>0;--y){
            System.out.println(x + " "+ y + " ");
            x++;
        }
Run Code Online (Sandbox Code Playgroud)

到目前为止,正如我所理解的那样,首先使用"按原样"增加后增量.是否先添加预增量然后再使用.为什么这不适用于for循环的主体?

java post-increment

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

使用php的swiftmailer和gmail

我正在编写一个简单的脚本,其中使用gmail帐户向自己发送电子邮件.

我从SwiftMailer的引用中修改了脚本,但是我没有得到任何结果.怎么了?

编辑:进一步调试后我发现了这个声明

$result = $mailer->send($message);
Run Code Online (Sandbox Code Playgroud)

导致代码失败(下面的回显不打印).

为什么是这样?只是导致消息未发送程序崩溃?:/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
<?php
    require_once '/var/www/swift/lib/swift_required.php';
    echo 'Mail sent <br />';  

/*  //create the transport
    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587);
      ->setUsername('softrain.evaluaciones@gmail.com')
      ->setPassword('softrain1234')
    ;
*/

    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587)
      ->setUsername('softrain.evaluaciones@gmail.com')
      ->setPassword('password')
    ;

    echo 'line 40 <br />';
    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance('Wonderful Subject')
      ->setFrom(array('softrain.evaluaciones@gmail.com' => 'Evaluaciones'))
      ->setTo(array('softrain.evaluaciones@gmail.com'=> 'A name'))
      ->setBody('Test Message Body')
    ;
    echo …
Run Code Online (Sandbox Code Playgroud)

php gmail swiftmailer

37
推荐指数
4
解决办法
8万
查看次数