以下字符串对象中的参数是做什么的?

时间:2017-06-30 08:56:44

标签: java

 MySqlConnection connection = new MySqlConnection    ("SERVER=127.0.0.1;DATABASE=xo_game;UID=root;PASSWORD=;");

   try
   {
   connection.Open();

 MySqlCommand cmd = new MySqlCommand("SELECT id, player_one, player_two,   CASE avaible WHEN 1 THEN 'Available' ELSE 'Not available' END as 'avaible' FROM games", connection);
 MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
 DataSet ds = new DataSet();
 adp.Fill(ds, "LoadDataBinding");
 dataGridGames.DataContext = ds;
 }
 catch (MySqlException ex)
 {
 MessageBox.Show(ex.ToString());
 }
 finally
 {
 connection.Close();
 }

在此代码中,我认为输出为public class PgHS { public static void main(String[] args) { byte ascii[] = {65,66,67,68,69,70}; String s1 = new String(ascii,2,3); System.out.println(s1); } } // output: CDE ,当数组从CD转到0时,第二个&第三个位置是n67  ASCII等价于68

但输出实际上是CD。这是为什么?

1 个答案:

答案 0 :(得分:3)

来自docs:

String(byte[] bytes, int offset, int length)
  

通过使用平台的默认字符集解码指定的字节子数组来构造一个新的String。

在您的情况下:它从您的ascii输入创建新字符串,从ascii[2]开始,字符串长度为3字节长。

您的打印件应为CDE